Infrared cloud detector systems and methods

ABSTRACT

The present disclosure generally relates to infrared cloud detector systems and methods for detecting cloud cover conditions. The infrared cloud detector system comprises an infrared sensor, an ambient temperature sensor, and logic. The infrared sensor is configured to measure sky temperature based on infrared radiation received within its field-of-view. The ambient temperature sensor is configured to measure an ambient temperature. And the logic is configured to determine a cloud condition based on a difference between the measured sky temperature and the measured ambient temperature.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application claims benefit of and priority to U.S. provisionalapplication 62/453,407, filed on Feb. 1, 2017 and titled “INFRARED CLOUDDETECTOR SYSTEMS AND METHODS, which is hereby incorporated by referencein its entirety and for all purposes. This application is also acontinuation-in-part of international application PCT/US16/55709(designating the United States), titled “MULTI-SENSOR” and filed on Oct.6, 2016, which is a continuation-in-part of U.S. patent application Ser.No. 14/998,019, titled “MULTI-SENSOR” and filed on Oct. 6, 2015; both ofthese applications are hereby incorporated by reference in theirentireties and for all purposes. This application is also acontinuation-in-part of U.S. application Ser. No. 15/287,646, titled“MULTI-SENSOR” and filed on Oct. 6, 2016, which is acontinuation-in-part of U.S. patent application Ser. No. 14/998,019,titled “MULTI-SENSOR” and filed on Oct. 6, 2015; both of theseapplications are hereby incorporated by reference in their entiretiesand for all purposes.

FIELD

The present disclosure generally relates to arrangements of sensingelements for detecting cloud cover conditions, and in particular to,infrared cloud detector systems and methods of detecting cloud coverconditions thereof.

BACKGROUND

Detecting cloud cover can be an important part of making decisions aboutplacing equipment into operation at, for example, a robotic observatorysince astronomers may want to detect clouds that may interfere withtheir observations. Conventional methods of mapping the sky to detectcloud cover rely on expensive imaging devices that typically rely onvisible light measurements.

SUMMARY

Certain aspects pertain to infrared cloud detector systems and methodsof detecting cloud cover conditions thereof.

Certain aspects pertain to infrared cloud detector systems. In someaspects, an infrared cloud detector system comprises an infrared sensorconfigured to measure sky temperature based on infrared radiationreceived within its field-of-view, an ambient temperature sensorconfigured to measure an ambient temperature, and logic configured todetermine a cloud condition based on a difference between the measuredsky temperature and the measured ambient temperature.

In some aspects, an infrared cloud detector system comprises an infraredsensor configured to measure sky temperature based on infrared radiationreceived within its field-of-view, an ambient temperature sensorconfigured to measure an ambient temperature, a photosensor configuredto measure intensity of visible light, and logic configured to determinea cloud condition. If a time of day is between a first time beforesunrise and a second time after sunrise or between a third time beforesunset and sunset, the logic is configured to determine the cloudcondition based on a difference between the measured sky temperature andthe measured ambient temperature. If the time of day is between thesecond time after sunrise and before the third time before sunset, thelogic is configured to determine the cloud condition based on themeasured intensity of visible light from the photosensor.

Certain aspects pertain to infrared cloud detector methods. In someaspects, an infrared cloud detector method comprises receiving a skytemperature reading from an infrared sensor and an ambient temperaturereading from an ambient temperature sensor, calculating a differencebetween the sky temperature reading and the ambient temperature reading,and determining a cloud condition based on the calculated differencebetween the sky temperature reading and the ambient temperature reading.

In some aspects, an infrared cloud detector method comprises receiving asky temperature reading from an infrared sensor, an ambient temperaturereading from an ambient temperature sensor, and an intensity readingfrom a photosensor and determining whether a time of day is: (i) betweena first time before sunrise and a second time after sunrise or between athird time before sunset and sunset; (ii) between the second time aftersunrise and before a third time before sunset; (iii) after (i) andbefore (iii); or (iv) after (iii) and before (i). If the time of day is(i), (iii), or (iv), the cloud condition is determined based on adifference between the measured sky temperature and the measured ambienttemperature. If the time of day is (iii), the cloud condition isdetermined based on the intensity reading received from the photosensor.

These and other features and embodiments will be described in moredetail below with reference to the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a schematic representation of a side view of an infraredcloud detector system, according to some implementations.

FIG. 2A shows a graph with two plots of temperature readings taken overtime by an infrared sensor of the infrared cloud detector, according tothis implementation.

FIG. 2B shows a graph having two plots of ambient temperature readingstaken over time by the ambient temperature sensor of the infrared clouddetector discussed with respect to FIG. 2A.

FIG. 2C shows a graph having two plots of the calculated delta betweenthe temperature readings taken by the infrared sensor and the ambienttemperature readings taken by the ambient temperature sensor of theinfrared cloud detector discussed with respect to FIGS. 2A and 2B.

FIG. 3 depicts a schematic (side view) diagram of an infrared clouddetector system comprising an infrared cloud detector and a photosensor,according to an implementation.

FIG. 4A shows a perspective view of a diagrammatic representation of aninfrared cloud detector system comprising an infrared cloud detector inthe form of a multi-sensor, according to an implementation.

FIG. 4B shows another perspective view of the infrared cloud detectorsystem comprising the infrared cloud detector in the form of themulti-sensor shown in FIG. 4A.

FIG. 4C shows a perspective view of some of the inner components of themulti-sensor device of the infrared cloud detector system shown in FIGS.4A and 4B.

FIG. 5A is a graph with a plot of intensity readings taken by thevisible light photosensor over time.

FIG. 5B is a graph with a plot of the difference between temperaturereadings taken by the infrared sensor and temperature readings taken bythe ambient temperature sensor over time.

FIG. 6A is a graph with a plot of intensity readings taken by thevisible light photosensor over time.

FIG. 6B is a graph with a plot of the difference between temperaturereadings taken by the infrared sensor over time and temperature readingstaken by an ambient temperature sensor over time.

FIG. 7A is a graph with a plot of intensity readings taken by thevisible light photosensor over time.

FIG. 7B is a graph with a plot of the difference between temperaturereadings taken by the infrared sensor and temperature readings taken byan ambient temperature sensor over time.

FIG. 8 shows a flowchart describing a method that uses temperaturereadings from an infrared sensor and an ambient temperature sensor todetermine a cloud cover condition, according to implementations.

FIG. 9 shows a flowchart describing a method that determines a cloudcover condition using readings from an infrared sensor, an ambienttemperature sensor, and a photosensor of an infrared cloud detectorsystem, according to implementations.

FIG. 10A depicts a schematic cross-section of an electrochromic device.

FIG. 10B depicts a schematic cross-section of an electrochromic devicein a bleached state (or transitioning to a bleached state).

FIG. 10C depicts a schematic cross-section of the electrochromic deviceshown in FIG. 10B, but in a colored state (or transitioning to a coloredstate).

FIG. 11A shows the penetration depth of direct sunlight into a roomthrough an electrochromic window between the exterior and the interiorof a building, which includes the room, according to an implementation.

FIG. 11B shows direct sunlight and radiation under clear sky conditionsentering the room through the electrochromic window, according to animplementation.

FIG. 11C shows radiant light from the sky as may be obstructed by orreflected from objects such as, for example, clouds and other buildings,according to an implementation.

FIG. 12 depicts a flowchart showing general control logic for a methodof controlling one or more electrochromic windows in a building,according to embodiments.

FIG. 13 is a diagram showing a particular implementation of one of theblocks from FIG. 12, according to an implementation.

FIG. 14A is a flowchart depicting a particular implementation of thecontrol logic of an operation shown in FIG. 13, according to animplementation.

FIG. 14B is a flowchart depicting a particular implementation of thecontrol logic of an operation shown in FIG. 14A, according to animplementation.

DETAILED DESCRIPTION I. Introduction

At certain times of the day, the intensity of visible light is at a lowlevel such as in the early morning around sunrise and in the eveningjust before sunset. A photosensor calibrated to measure the intensity ofvisible light (referred to herein as a “visible light photosensor” orgenerally as a “photosensor”) does not detect direct sunlight and itsintensity measurements at these times of day are not effective indetermining when the sky is clear (a “clear” condition) and when the skyis cloudy (a “cloudy” condition). That is, a visible light photosensordirected toward the sky at these times would measure low intensityvalues both during a “clear” condition and a “cloudy” condition.Consequently, the intensity measurements taken by a visible lightphotosensor alone cannot be used to accurately distinguish between“cloudy” and “clear” conditions at these times. If intensitymeasurements from a visible light photosensor alone were used todetermine a “cloudy” condition (e.g., when measured intensity levelsdrop below a particular minimal value) in the evening at dusk justbefore sunset, a false “cloudy” condition could be detected. Similarly,visible light photosensor measurements are not effective indistinguishing between “cloudy” and “clear” conditions just beforesunrise when there is no direct sunlight. At any of these time periods,the photosensor measurements might be used to detect a false “cloudy”condition. A controller that relies on a false “cloudy” determinationfrom such photosensor readings could consequently implement aninappropriate control decision based on this false “cloudy”determination. For example, if photosensor readings determine a false“cloudy” condition at a time just before sunrise, a window controllerthat controls tint levels in an optically switchable window (e.g.,electrochromic window) facing East might inappropriately clear thewindow allowing direct glare from the rising sun to shine into the room.

Moreover, a controller that makes decisions based primarily on currentreadings from a visible light photosensor does not account forhistorical intensity levels in the geographic region that could bear onprobable current/future cloud cover conditions, for example, to makecontrol commands in anticipation of a condition that is likely to occur.For example, there may be a historically low light level in the morningwhen small clouds pass the geographic region. In this circumstance, asmall cloud temporarily blocking sunlight to the photosensor wouldresult in the same determination of a “cloudy” condition as when a largestorm were rolling into the region. In this case, the passing of a smallcloud could cause the controller to transition a tintable window andpossibly lock an optically switchable window into an inappropriately lowtint level until the window can transition to a higher (darker) tintlevel.

II. Infrared (IR) Cloud Detectors

Both clouds and water vapor absorb and re-emit radiation in discretebands across the infrared (IR) spectrum. Since clouds absorb and re-emitIR radiation and a clear sky transmits IR radiation, clouds aregenerally warmer (have higher temperature) than clear sky. In otherwords, the presence of clouds generally produces an enhanced IR signal(which corresponds to an approximate black body spectrum at about groundtemperature) above a signal from the clear sky. There is also the lessereffect of atmospheric humidity, which can also produce an enhanced IRsignal, particularly at low elevations. Based on these distinctions,devices that measure IR radiation can be used to detect a cloud and a“cloudy” condition.

Various implementations relate to infrared cloud detectors and methodsthereof that detect cloud cover based on infrared readings. The infraredcloud detectors generally include at least one infrared (IR) sensor andan ambient temperature sensor used in conjunction to take temperaturereadings of the sky that can be used to detect cloud cover conditions.Generally speaking, the amount of infrared radiation emitted by amedium/object and that is then measured by an IR sensor varies dependingon the temperature of the medium/object, the surface and other physicalcharacteristics of the medium/object, the field-of-view of the IRsensor, and the distance between the medium/objects and the IR sensor.The IR sensor converts IR radiation received within its field-of-view toa voltage/current and the voltage/current to corresponding temperaturereadings (e.g., digital temperature reading) of the medium/object withinits field-of-view. For example, an IR sensor directed (oriented) to facethe sky outputs temperature readings of a region of the sky within itsfield-of-view. The IR sensor can be oriented in a particular direction(e.g., azimuthal angle and altitude angle) to preferentially capture IRradiation in the geographical region of the sky within its field-of-viewcentered about that direction. The ambient temperature sensor measuresthe temperature of ambient air surrounding the sensor. Generally theambient temperature sensor is located to measure the temperature ofambient air surrounding the infrared cloud detector. The infrared clouddetector further comprises a processor that determines the differencebetween the temperature readings taken by the IR sensor and the ambienttemperature sensor and uses this difference to detect the amount ofcloud cover in a region of the sky within the field-of-view of the IRsensor.

Generally, sky temperature readings taken by an ambient temperaturesensor tend to fluctuate to a lesser extent with changing weatherconditions than sky temperature readings taken by an infrared radiationsensor. For example, sky temperature readings taken by an infraredradiation sensor tend to fluctuate with high frequency during an“intermittent cloudy” condition in a fast moving weather pattern.Certain implementations of infrared cloud detectors have logic thatdetermines the difference between infrared sensor temperature readings(T_(IR)) and ambient temperature readings (T_(A)), the delta (Δ),according to Eqn. 1 to help normalize any fluctuations in the infraredsensor temperature readings (T_(IR)). In one example, logic determines a“cloudy” condition if the delta (Δ) is determined to be above the upperthreshold value (e.g., about 0 degrees Celsius), a “clear” condition ifthe delta (Δ) is determined to be below the lower threshold value (e.g.,about −5 degrees Celsius), and an “intermittent cloudy” condition if thedelta (Δ) is determined to be between upper and lower threshold values.In another example, the logic determines a “cloudy” condition if thedelta (Δ) is above a single threshold value and a “clear” condition ifthe delta (Δ) is below the threshold value. In one aspect, the logic canapply one or more correction factors to the delta (Δ) before determiningwhether it is above or below threshold value(s). Some examples ofcorrection factors that may be used in implementations include humidity,sun angle/elevation, and site elevation. For example, a correctionfactor may be applied based on the altitude and density of the cloudsbeing detected. Lower altitude and/or higher density clouds more closelyrelate to ambient temperature readings than infrared sensor readings.Higher altitude and/or less dense clouds closely relate to infraredsensor readings then to ambient temperature readings. In this example, acorrection factor can be applied that weights the ambient temperaturereadings higher for lower altitude and/or higher density clouds orweights the infrared sensor readings higher for higher altitude and/orless dense clouds could be used. In another example, a correction factormay be applied based on humidity and/or sun position to more accuratelydescribe cloud cover and/or remove any outliers. To illustrate thetechnical advantages of using the delta (Δ) to determine a cloudcondition is described with reference to FIGS. 2A-2C below.

Since sky temperature readings are generally independent of directsunlight being present, temperature readings can be used by the infraredcloud detector to more accurately detect a cloud cover condition incertain instances than a visible light photosensor could detect at timeswhen intensity of sunlight is low (e.g., just before sunrise and in theearly morning just after sunrise, in the early evening before sunset).At these times, a visible light photosensor could potentially detect afalse “cloudy” condition. According to these implementations, infraredcloud detectors can be used to detect cloud cover and the accuracy oftheir detection has no bearing on whether the sun is out or whetherthere are otherwise low light intensity levels such as, for example,just before sunrise or sunset. In these implementations, a relativelylow sky temperature generally indicates the likelihood of a “clear”condition and a relatively high sky temperature reading generallyindicates the likelihood of a “cloudy” condition (i.e. cloud cover).

In various implementations, the IR sensor of the infrared cloud detectoris calibrated to measure radiant flux of long wavelength infraredradiation within a specific range. A processor of the IR sensor or aseparate processor can be used to infer temperature readings from thesemeasurements. In one aspect, the IR sensor is calibrated to detectinfrared radiation in a wavelength range of between about 8 μm and about14 μm. In another aspect, an IR sensor is calibrated to detect infraredradiation having wavelengths above about 5 μm. In another aspect, an IRsensor is calibrated to detect infrared radiation in a wavelength rangeof between about 9.5 μm and about 11.5 μm. In another aspect, an IRsensor is calibrated to detect infrared radiation in a wavelength rangeof between about 10.5 μm to 12.5 μm. In another aspect, an IR sensor iscalibrated to detect infrared radiation in a wavelength range of betweenabout 6.6 μm to 20 μm. Some examples of types of IR sensors that can beused include an infrared thermometer (e.g., a thermopile), infraredradiometer, infrared pyrgeometer, infrared pyrometer, and the like. Acommercially-available example of an IR sensor is the Melexis MLX90614made by Melexis of Detroit, Mich. Another commercially-available exampleof an IR sensor is the TS305-11055 Temperature Sensor made by TEconnectivity Ltd. of Switzerland. Another commercially-available exampleof an IR sensor is the SI-111 Infrared radiometer made by ApogeeTemperature Sensor made by TE connectivity Ltd. of Switzerland.

In various implementations, the infrared cloud detector has an IR sensorthat is located and oriented so that its field-of-view can receiveinfrared radiation from a particular region of sky of interest. In oneimplementation, the IR sensor may be located on a roof-top of a buildingand oriented with its sensing surface facing vertically upward or at asmall angle from vertical so that its field-of-view is of a region ofthe sky above or at a distance from the building.

In certain implementations, the infrared cloud detector has a protectivehousing and the infrared sensor is located within the housing. Thehousing may have a cover with one or more apertures or thinned areasthat allow/restrict transmission of infrared radiation to the infraredsensor. In some cases, the cover may be formed from a plastic such aspolycarbonate, polyethylene, polypropylene and/or a thermoplastic suchas nylon or other polyamide, polyester or other thermoplastic, amongother suitable materials. In one example, the material is aweather-resistant plastic. In other cases, the cover may be formed froma metallic material such as aluminum, cobalt or titanium, or asemi-metallic material such as alumide. In some implementations, thecover may be sloped or convex-shaped to prevent the accumulation ofwater. Depending on the type of material or materials used to form thecover, the cover may be 3D-printed, injection molded or formed viaanother suitable process or processes.

In some implementations, the cover includes one or more apertures orthinned areas to increase transmission (lessen blocking) of incidentradiation or other signals to detectors within the housing. For example,the cover may include one or more apertures or thinned areas proximateinfrared sensors in the housing to allow for improved transmission ofincident infrared radiation to the infrared sensors. Apertures orthinned areas may also improve transmission of other signals (e.g., GPSsignals) to other detecting devices within the housing. Additionally oralternatively, some or all of the cover can be formed of alight-diffusing material. In some implementations, the cover can beconnected with the housing via an adhesive or with some mechanicalcoupling mechanism such as through the use of threads and threading orvia a pressure gasket or other press-on fitting.

The field-of-view of the sensing surface of the infrared sensor isdefined by its material composition and its structure. In some cases,the field-of-view of infrared sensor may be narrowed by obstructions.Some examples of obstructions include a building structure such as anoverhanging or a roof-top structure, an obstruction near the buildingsuch as a tree or another building, etc. As another example, if theinfrared sensor is located within a housing, structures within thehousing may narrow the field-of-view.

In one aspect, a single IR sensor has a vertical unconstrainedfield-of-view of about 50 degrees to about 130 degree +−40 degrees offof vertical. In one aspect, an IR sensor has a field of view in a rangeof 50 degrees and 100 degrees. In another aspect, an IR sensor has afield of view in a range of 50 degrees and 80 degrees. In anotheraspect, an IR sensor has a field-of-view of about 88 degrees. In anotheraspect, an IR sensor has a field-of-view of about 70 degrees. In anotheraspect, an IR sensor has a field-of-view of about 44 degrees. Thefield-of-view of an IR sensor is typically defined as a conical volume.IR sensors typically have wider fields-of-view than visible lightphotosensors and are consequently capable of receiving radiation fromlarger regions of the sky. Since an IR sensor can take readings oflarger regions of the sky, the IR sensor can be more useful indetermining an approaching condition (e.g., incoming storm clouds) thana visible light photosensor which would be more limited to detecting acurrent condition affecting the immediate vicinity of the photosensorwithin its smaller field-of-view. In one aspect, a five-sensorobstructed IR sensor arrangement (e.g., in a multi-sensor configuration)of mounted sensors has four angularly mounted IR sensors, eachconstrained to a field-of-view of 20-70 degrees or 110-160 degrees, andone upward facing IR sensor constrained to a field-of-view of 70-110degrees.

Certain IR sensors tend to be more effective in measuring skytemperature when direct sunlight is not impinging the sensing surface.In certain implementations, the infrared cloud detector has a structurethat shades direct sunlight from the sensing surface of the IR sensor orhas a structure that diffuses direct sunlight (e.g., enclosure of opaqueplastic) before it impinges the sensing surface of IR sensor. In oneimplementation, an IR sensor may be shaded by an overhanging structureof the building or of the infrared cloud detector. In anotherimplementation, an IR sensor may be located within a protective housingwith a diffusing material between the sensing surface of the IR sensorand the sky to diffuse any direct sunlight from reaching the sensingsurface of the IR sensor and also to provide protection from potentiallyharmful elements such as dirt, animals, etc. Additionally oralternatively, some implementations only use IR sensor readings takenbefore sunrise or after sunset to avoid the possibility of directsunlight impinging the IR sensor. In these implementations, photosensorreadings or other sensor readings may be used to detect cloud coverconditions between sunrise and sunset.

In various implementations of the infrared cloud detector has an ambienttemperature sensor for measuring the temperature of the air surroundingthe ambient temperature sensor. Typically, the ambient temperaturesensor is located in contact with the outdoor environment (e.g. locatedoutside of a building) to take temperature readings of the sky. Theambient temperature sensor may be, for example, a thermistor, athermocouple, a resistance thermometer, a thermocouple, a siliconbandgap temperature sensor, etc. A commercially-available example of anambient temperature sensor that can be used is the Pt100 thermometerprobe made by Omega. Certain implementations include an ambienttemperature sensor that is located to avoid direct sunlight fromimpinging its sensing surface. For example, the ambient temperaturesensor may be located under an overhanging or mounted underneath astructure that shades the ambient temperature sensor from directsunlight.

Although many implementations of the infrared cloud detector describedherein include one IR sensor and one ambient temperature sensor, itwould be understood that other implementations can include more than oneIR sensor and/or more than one ambient temperature sensor. For example,in one implementation, the infrared cloud detector includes two or moreIR sensors for redundancy and/or to direct IR sensors to differentregions of the sky. Additionally or alternatively, the infrared clouddetector may have two or more ambient temperature sensors for redundancyin another implementation. An example of a system that uses two IRsensors directed different regions of the sky for detecting clouds canbe found in international application PCT/US15/53041, filed on Sep. 29,2015 and titled “SUNLIGHT INTENSITY OR CLOUD DETECTION WITH VARIABLEDISTANCE SENSING,” which is hereby incorporated by reference in itsentirety.

Various implementations of the infrared cloud detector have the basicfunctionality of detecting cloud cover conditions. In some cases, theinfrared cloud detector can detect a “cloudy” condition and a “clear”condition. Additionally, some implementations can further differentiatea “cloudy” condition into gradations. For example, one implementationcan differentiate a “cloudy” condition as either “overcast” or“intermittent clouds.” In another example, an implementation can assigndifferent levels (e.g., 1-10) of cloudiness to the “cloudy” condition.In yet another example, an implementation can determine a future cloudcondition. Additionally or alternatively, some implementations can alsodetect other weather conditions.

In various implementations, the infrared cloud detector comprises an IRsensor configured to take temperature readings, T_(IR), and an ambienttemperature sensor configured to take ambient temperature readings,T_(A). The infrared cloud detector also includes one or more processorscontaining program instructions that can be executing to perform variousfunctions of the infrared cloud detector. The processor(s) executesprogram instructions to determine the temperature difference, delta (Δ)between the temperature readings as provided in Eqn. 1. The processor(s)also executes program instructions to determine the cloud covercondition based on the delta (Δ). As mentioned above, using the ambienttemperature readings can help normalize any rapid fluctuations in the IRsensor temperature readings in some circumstances.

Delta (Δ)=Infrared Sensor Temperature Reading (T _(IR))−AmbientTemperature Reading (T _(A))  (Eqn. 1)

In one implementation, the processor(s) executes program instructions tocompare the delta (Δ) to an upper threshold value and a lower thresholdvalue and determine a cloud cover condition. If the delta (Δ) is abovethe upper threshold value, a “clear” condition is determined. If thedelta (Δ) is below the lower threshold value, a “cloudy” condition isdetermined. If the delta (Δ) is below the upper threshold value andabove the lower threshold value (i.e. between threshold values), an“intermittent” cloud cover condition is determined. Additionally oralternatively, additional factors may be used to determine a cloud covercondition when the delta (Δ) is between threshold values. Thisimplementation works well in the morning around dawn and in the eveningaround dusk to accurately determine a “cloudy” condition or a “clear”condition. Between sunrise and sunset, additional factors may be used todetermine cloud cover condition such as, for example, by using visiblephotosensor values. Some examples of additional factors include:elevation, wind speed/direction, and sun elevation/angle.

A. Infrared (IR) Cloud Detection Sensor Systems

FIG. 1 shows a schematic representation of a side view of system with aninfrared cloud detector 100, according to some implementations. Theinfrared cloud detector 100 comprises a housing 101 with a cover 102having an aperture or thinned portion 104 at a first surface 106 of thehousing 101. The housing 101 also has a second surface 108 opposing thefirst surface 106. The infrared cloud detector 100 further comprises anIR sensor 110 configured to take temperature readings, T_(IR), based oninfrared radiation received within its conical field-of-view 114, anambient temperature sensor 130 for taking ambient temperature readings,T_(A), and a processor 140 in communication (wired or wirelessly) withthe IR sensor 110 and the ambient temperature sensor 130. In one aspect,the IR sensor is one of an infrared thermometer (e.g., a thermopile),infrared radiometer, infrared pyrgeometer, and infrared pyrometer. Inone aspect, the ambient temperature sensor is one of a thermistor, athermometer, and a thermocouple.

In FIG. 1, the IR sensor 110 is located behind the aperture or thinnedportion 104 and within the enclosure of the housing 101. The aperture orthinned portion 104 enables the IR sensor 110 to measure infraredradiation transmitted through the aperture or thinned portion 104 andreceived at its sensing surface. The IR sensor 110 includes an imaginaryaxis 112 that is orthogonal to the sensing surface of the IR sensor 110and passes through the center of the IR sensor 110. In the illustratedexample, the IR sensor 110 is oriented so that its axis 112 is in avertical orientation and the sensing surface is facing upward. In otherexamples, the IR sensor 110 can be directed so that the sensing surfaceis facing in another orientation to direct the IR sensor, for example,to a particular region of the sky. The IR sensor 110 has a conicalfield-of-view 114 through the aperture or thinned portion 104 to outsideof the housing 102. In this example, the portions of the cover 102around the aperture or thinned portion 104 are made of a material thatblocks infrared radiation and the perimeter of the aperture or thinnedportion 104 defines the field-of-view 114. The field-of-view 114 has anangle, α, and is centered about the axis 112. In FIG. 1, the ambienttemperature sensor 130 is located and affixed to the second surface 108of the housing 102 away from the edge to avoid direct sunlight fromimpinging the ambient temperature sensor 130 when the infrared clouddetector 100 is in this orientation. Although not shown, the infraredcloud detector 100 also includes one or more structures that hold theinfrared sensor 110 and other components in place within the housing101.

The infrared cloud detector 100 further comprises logic that calculatesa delta (Δ) between infrared sensor sky temperature readings (T_(IR))and the ambient temperature readings (T_(A)) at each reading time anddetermine a cloud cover condition based on the calculated delta (Δ).During operation, the IR sensor 110 takes temperature readings, T_(IR),based on infrared radiation received form the region of sky within itsfield-of-view 114 and the ambient temperature sensor 130 takes ambienttemperature readings, T_(A), of the ambient air surrounding the infraredcloud detector 100. The processor 140 receives signals with temperaturereadings, T_(IR), from the IR sensor 110 and signals with ambienttemperature readings, T_(A), from the ambient temperature sensor 130.The processor 140 executes instructions stored in memory (not shown)that uses the logic to calculate a delta (Δ) between infrared sensortemperature readings (T_(IR)) and the ambient temperature readings(T_(A)) at particular time to determine the cloud cover condition. Forexample, the processor 140 may execute instructions that determines a“cloudy” condition if the delta (Δ) at that time is above the upperthreshold value, determines a condition “clear” if the delta (Δ) isbelow the lower threshold value, and determines an “intermittent cloudy”condition if is determined that the delta (Δ) is between the upperthreshold value and the lower threshold value. The processor 140 mayalso execute instructions stored in memory to perform other operationsof methods described herein.

Although a single infrared sensor 110 is illustrated in FIG. 1, two ormore infrared sensors can be used, in another implementation, forredundancy in case one malfunctions and/or is obscured by, for example,bird droppings or another environmental agent. In one implementation,two or more infrared sensors are used to face different orientations tocapture IR radiation from different fields-of-view and/or at differentdistances from the building/structure. If two or more IR sensors arelocated within a housing of an infrared cloud detector 100, the IRsensors are typically offset from one another by a distance sufficientto reduce the likelihood that an obscuring agent would affect all the IRsensors. For example, IR sensors may be separated by at least about oneinch or at least about two inches.

B. Comparison of Infrared Sensor Temperature Readings, AmbientTemperature Readings, and Delta Values during a Clear Day and a Day withAfternoon Clouds

As discussed above, sky temperature readings taken by an ambienttemperature sensor tend to fluctuate to a lesser extent than skytemperature readings taken by an infrared radiation sensor. Certainimplementations of infrared cloud detectors have logic that determinesthe difference between infrared sensor temperature readings (T_(IR)) andambient temperature readings (T_(A)), the delta (Δ), according to Eqn. 1to help normalize any fluctuations in the infrared sensor temperaturereadings (T_(IR)). By way of comparison, FIGS. 2A-2C include graphs ofexamples of temperature readings, T_(IR), taken by an infrared sensor ofan infrared cloud detector according to an implementation, temperaturereadings, T_(A), taken by an ambient temperature sensor of the infraredcloud detector, and the delta (Δ) between these readings. Each graphincludes two plots: a plot of readings taken during a clear day and aplot of readings taken during a day with afternoon clouds. The infraredcloud detector used in this example includes components that are similarto those described with respect to the infrared cloud detector 100 shownin FIG. 1. In this case, the infrared cloud detector is located on therooftop of a building and the infrared sensor is oriented to facevertically upward. The infrared sensor is calibrated to measure infraredradiation in the wavelength range from about 8 μm to about 14 μm. Toavoid direct sunlight from impinging the infrared sensor, the infraredsensor is located behind a cover formed of a light diffusing materialsuch as a plastic e.g., polycarbonate, polyethylene, polypropyleneand/or a thermoplastic such as nylon or other polyamide, polyester orother thermoplastic, among other suitable materials. In this example,the infrared cloud detector also comprises logic that can be used tocalculate the difference, delta (Δ), between the temperature readings,T_(IR), taken by the IR sensor and the ambient temperature readings,T_(A), taken by the ambient temperature sensor of the infrared clouddetector. The logic can also be used to determine a “cloudy” conditionif the delta (Δ) is at or above the upper threshold value, a “clear”condition if the delta (Δ) is at or below the lower threshold value, andan “intermittent cloudy” condition if is determined that the delta (Δ)is between the upper and lower threshold values.

FIG. 2A shows a graph with two plots of temperature readings, T_(IR),taken over time by an infrared sensor of the infrared cloud detector,according to this implementation. Each of the two plots is oftemperature readings, T_(IR), taken by the infrared sensor over a timeperiod of a day. The first plot 110 is of temperature readings, T_(IR),taken by the infrared sensor during a first day with clouds in theafternoon. The second plot 112 is of temperature readings, T_(IR), takenby the infrared sensor during a second day that is clear all day. Asshown, the temperature readings, T_(IR), of the first plot 110 takenduring the afternoon of the first day with afternoon cloudiness aregenerally higher than the temperature readings, T_(IR), of the secondplot 112 taken during the second that is clear all day.

FIG. 2B shows a graph having two plots of ambient temperature readings,T_(A), taken over time by the ambient temperature sensor of the infraredcloud detector discussed with respect to FIG. 2A. Each of the two plotsis of temperature readings, T_(A), taken by the ambient temperaturesensor over a time period of a day. To avoid direct sunlight fromimpinging the ambient temperature sensor, it is shaded from directsunlight. The first plot 220 is of temperature readings taken by theambient temperature sensor during the first day with clouds in theafternoon. The second plot 222 is of temperature readings taken by theinfrared sensor during a second day that is clear all day. As shown, theambient temperature readings, T_(A), of the first plot 220 taken duringthe first day with clouds in the afternoon are at lower levels than thetemperature readings, T_(A), of the second plot 222 taken during thesecond day that is clear all day.

FIG. 2C shows a graph having two plots of the calculated delta (Δ)between the temperature readings, T_(IR), taken by the IR sensor and theambient temperature readings, T_(A), taken by the ambient temperaturesensor of the infrared cloud detector discussed with respect to FIGS. 2Aand 2B. Each of the two plots is of the calculated delta (Δ) over a timeperiod of a day. The first plot 230 is the calculated delta (Δ) of thereadings taken during the first day with clouds in the afternoon. Thesecond plot 232 is the calculated delta (Δ) taken during the second daythat is clear all day. The graph also includes an upper threshold valueand a lower threshold value.

In FIG. 2C, the values of delta (Δ) of the second plot 232 during a timeinterval from just before sunrise until just after sunrise and during atime interval from just before sunset until sunset are below the lowerthreshold value. Using the calculated delta (Δ) values shown in theplots in FIG. 2C, the logic of the infrared cloud detector woulddetermine a “clear” condition during this time interval. Also, since thevalues of delta (Δ) of the second plot 232 are below the lower thresholdvalue at most other times of the day, the logic of the infrared clouddetector would determine a “clear” condition for the other times aswell.

In FIG. 2C, the values of delta (Δ) of the first plot 230 are above theupper threshold value for most of the afternoon and the infrared clouddetector would determine a “cloudy” condition during the afternoon. Thevalues of delta (Δ) of the first plot 230 are below the lower thresholdvalue during a time interval just before sunrise until just aftersunrise and during a time interval from just before sunset until sunset.Based on these calculated delta (Δ) values, the logic of the infraredcloud detector would determine a “clear” condition during this timeinterval. The values of delta (Δ) of the first plot 230 are between thelower and upper threshold values during a brief period of time intransition in early and late afternoon. Based on these calculated delta(Δ) values, the logic of the infrared cloud detector would determine an“intermittent cloudy” condition.

C. Infrared Cloud Detector Systems with Optional Photosensor(s)

In certain implementations, infrared cloud detector systems include anoptional visible light photosensor (e.g., a photodiode) for measuringintensity of visible light radiation during operation. These systemsgenerally comprise an infrared sensor, an ambient temperature sensor, avisible light photosensor, and logic for determining a cloud covercondition based on readings taken by one or more of the infrared sensor,the ambient temperature sensor, and the visible light photosensor. Insome cases, the infrared sensor is calibrated to measure wavelengths inthe 8-14 μm spectrum. In some cases, the photosensor is calibrated todetect intensity of visible light (e.g., between about 390 nm and about700 nm) within a photopic range. The photosensor may be located in/onthe same housing as the infrared sensor and the ambient temperaturesensor or may be located separately. In some cases, the logic determinesthe cloud cover condition based on a calculated delta (Δ) value betweenthe infrared sensor temperature readings, T_(IR), and the ambienttemperature readings, T_(A), when the confidence level of the infraredsensor is high and/or the confidence level of the photosensor is low.The logic determines the cloud cover condition based on photosensorreadings when the confidence level of the infrared sensor is low and/orthe confidence level of the photosensor is high.

In various implementations, an infrared cloud detector system includeslogic for determining a cloud cover condition using, as input, the timeof day, day of year, temperature readings, T_(IR), from the infraredsensor, ambient temperature readings, T_(A), from the ambienttemperature sensor, and light intensity readings from the photosensor,the oscillation frequency of the visible light intensity readings fromthe photosensor, and the oscillation frequency of the temperaturereadings, T_(IR), from the infrared sensor. In some cases, the logicdetermines the oscillation frequency from the visible light intensityreadings and/or the oscillation frequency from the temperature readings,T_(IR). The logic determines whether the time of day is during one ofthe following four time periods: (i) a time period shortly beforesunrise and up to slightly after sunrise; (ii) daytime defined as after(i) and before (iii); (iii) a time period shortly before sunset (dusk)and up until sunset; or (iv) nighttime defined as after (iii) and before(i). In one case, the time of sunrise can be determined frommeasurements taken by the visible wavelength photosensor. For example,the time period (i) may end at the point where a visible lightwavelength photosensor begins to measure direct sunlight i.e. anintensity reading of the visible light photosensor is at or above aminimum intensity value. In addition or alternatively, the time period(iii) may be determined to end at the point where the intensity readingfrom a visible light wavelength photosensor is at or below a minimumintensity value. In another example, the time of sunrise and/or the timeof sunset may be calculated using a solar calculator based on the day ofthe year and the time periods (i) and (iii) can be calculated by adefined period of time (e.g., 45 minutes) before and after thecalculated times of sunrise/sunset. If the time of day is within (i) or(iii) time periods, the confidence level of the photosensor readingstends to be low and the infrared sensor readings high. In thissituation, the logic determines the cloud cover condition based on acalculated delta (Δ) with or without correction factors. For example,the logic may determine a “cloudy” condition if the delta (Δ) is abovethe upper threshold value, a “clear” condition if the delta (Δ) is belowthe lower threshold value, and an “intermittent cloudy” condition if thedelta (Δ) is between upper and lower threshold values. As anotherexample, the logic may determine a “cloudy” condition if the delta (Δ)is above a single threshold value and a “clear” condition if the delta(Δ) is below the threshold value. If the time of day is during (ii)daytime, the confidence level of the photosensor readings is at a highlevel and the confidence level of the infrared sensor readings tends tobe low. In this case, the logic may use the photosensor readings todetermine the cloud cover condition as long as a calculated differencebetween the infrared readings and the photosensor readings stays at orbelow an acceptable value. For example, the logic may determine a“clear” condition if the photosensor reading is above a certainintensity level and determine a “cloudy” condition if the photosensorreading is at or below the intensity level. If the calculated differencebetween the infrared readings and the photosensor readings increasesabove the acceptable value, the confidence of the infrared readings isincreased and the logic determines the cloud cover condition based onthe delta (Δ) as described above. Alternatively or additionally, if thephotosensor readings are determined to be oscillating at a frequencygreater than a first defined level, the confidence level of the infraredreadings is increased and the logic determines the cloud cover conditionbased on the delta (Δ). If the infrared readings are determined to beoscillating at a frequency greater than a second defined level, theconfidence level of the photosensor readings is increased and the logicdetermines the cloud cover condition based on the photosensor readings.If the time of day is during (iv) nighttime, the logic may determine thecloud cover condition based on the delta (Δ) as described above.

FIG. 3 depicts a schematic (side view) diagram of an infrared clouddetector system 300 comprising an infrared cloud detector 310 and aphotosensor 320, according to an implementation. The infrared clouddetector 310 comprises a housing 312, an infrared sensor 314 within theenclosure of the housing 312, and an ambient temperature sensor 316 alsowithin the enclosure of the housing 312. The infrared sensor 314 isconfigured to take temperature readings, T_(IR), based on infraredradiation received form the region of sky within its conicalfield-of-view 315. The ambient temperature sensor 316 is configured totake ambient temperature readings, T_(A), of the ambient air surroundingthe infrared cloud detector 310. In one aspect, the IR sensor is one ofan infrared thermometer (e.g., a thermopile), infrared radiometer,infrared pyrgeometer, and infrared pyrometer. In one aspect, the ambienttemperature sensor is one of a thermistor, a thermometer, and athermocouple.

The infrared cloud detector 310 is located on the roof of a buildinghaving a room 330 with a tintable window 332 (e.g., electrochromicwindow with at least one electrochromic device) and the photosensor 320is located on an exterior surface of the building. The tintable window332 is located between the exterior and the interior of the building,which includes the room 330. FIG. 5 also shows a desk 334 in the room330. Although the photosensor 320 is located separately from theinfrared cloud detector 310 in this example, in other implementations,the photosensor 320 is located in the enclosure of the housing or on theoutside of the housing 312.

The infrared sensor 314 includes an imaginary axis that is perpendicularto the sensing surface of the infrared sensor 314 and passes through itscenter. The infrared cloud detector 310 is supported by a wedge-shapedstructure that orients the infrared cloud detector 310 such that itsaxis is directed at an angle of inclination, β, from a horizontal plane.Other components can be used to support the infrared cloud detector 310in other implementations. The infrared sensor 314 is directed so thatthe sensing surface faces the sky and can receive infrared radiationfrom a region of the sky within its field-of-view 315. The ambienttemperature sensor 130 is located within the enclosure of the housing312 away from the edge and shaded by an overhanging portion of thehousing 312 avoid direct sunlight from impinging the sensing surface ofthe ambient temperature sensor 130. Although not shown, the infraredcloud detector 310 also includes one or more structures that hold itscomponents within the housing 312.

In FIG. 3, the infrared cloud detector system 300 also includes acontroller 340 with a processor that can execute instructions stored inmemory (not shown) for using the logic of the infrared cloud detectorsystem 300. The controller 340 is in communication with (wirelessly orwired) the infrared sensor 314 and the ambient temperature sensor 316 toreceive signals with temperature readings. The controller 340 is also incommunication with (wirelessly or wired) the photosensor 320 to receivesignals with visible light intensity readings.

In some implementations, power/communication lines can extend from thebuilding or another structure to the infrared cloud detector 310. In oneimplementation, the infrared cloud detector 310 includes a networkinterface that can couple the infrared cloud detector 310 to a suitablecable. The infrared cloud detector 310 can communicated data through thenetwork interface to the controller 340 or another controller (e.g.,network controller and/or master controller) of the building. In someother implementations, the infrared cloud detector 310 can additionallyor alternatively include a wireless network interface enabling wirelesscommunication with one or more external controllers.

In some implementations, the infrared cloud detector 310 or otherexamples of infrared cloud detectors can also include a battery withinor coupled with its housing to power the sensors and electricalcomponents within. The battery can provide such power in lieu of or inaddition to the power from a power supply (for example, from a buildingpower supply). In one implementation, an infrared cloud detector furtherincludes at least one photovoltaic cell, for example, on an outersurface of the housing. This at least one photovoltaic cell can providepower in lieu of or in addition to the power provided by any other powersupply.

The infrared cloud detector system 300 further comprises logic fordetermining the cloud cover condition that uses, as input, the time ofday, day of year, temperature readings, T_(IR), from the infrared sensor314, ambient temperature readings, T_(A), from the ambient temperaturesensor 316, and light intensity readings from the photosensor 320, theoscillation frequency of the visible light intensity readings from thephotosensor 320, and the oscillation frequency of the temperaturereadings, T_(IR), from the infrared sensor 314. During operation, theinfrared sensor 314 takes temperature readings, T_(IR), based oninfrared radiation received from the region of sky within itsfield-of-view 315, the ambient temperature sensor 316 takes ambienttemperature readings, T_(A), of the ambient air surrounding the infraredcloud detector 310, and the photosensor 320 takes intensity readings ofvisible light received at its sensing surface. The processor of thecontroller 340 receives signals with temperature readings, T_(IR), fromthe infrared sensor 314, signals with ambient temperature readings,T_(A), from the ambient temperature sensor 316, and signals withintensity readings from the photosensor 320. The processor executesinstructions stored in memory for using the logic to determine the cloudcover condition based on the various inputs. An example of such logic isdescribed above and also with reference to FIG. 9. In oneimplementation, the controller 340 is also be in communication with andconfigured to control one or more building components. For example, thecontroller 340 may be in communication with and configured to controlthe tint level of the tintable window 332. In this implementation, theinfrared cloud detector system 300 further comprises logic fordetermining control decisions for the one or more building componentse.g., the tintable window 332, based on the determined cloud covercondition. An example of logic for determining control decisions basedon a determined cloud cover condition is described in more detail withrespect to FIG. 10.

Although a single infrared sensor 314, ambient temperature sensor 316,and photosensor 320 are illustrated in FIG. 3, it would be understoodthat the disclosure is not so limiting and that additional componentscan be used, in another implementation. For example, multiple componentscan be used for redundancy in case one malfunctions and/or is obscuredor otherwise prevented from functioning. In another example, two or morecomponents may be used at different locations or at differentorientations to capture different information. In one implementation,two or more infrared sensors are used to face different orientations tocapture infrared radiation from different fields-of-view and/or atdifferent distances from the building/structure. In cases with multiplesensors, an average or mean value of the values from the multiplesensors may be used to determine the cloud cover condition. If two ormore IR sensors are located within a housing of an infrared clouddetector 310, the IR sensors are typically offset from one another by adistance sufficient to reduce the likelihood that an obscuring agentwould affect all the IR sensors. For example, IR sensors may beseparated by at least about one inch or at least about two inches.

Another example of an infrared cloud detector system is described withrespect to FIGS. 11A-C in Section III below.

Multi-Sensor Implementations

In certain implementations, an infrared cloud detector system includesan infrared cloud detector with a visible light photosensor in the formof a multi-sensor device with various other optional sensors andelectrical components within or on its housing. Details of differentexamples of multi-sensor devices are described in U.S. patentapplication Ser. No. 14/998,019, filed on Oct. 6, 2016 and titled“MULTI-SENSOR,” which is hereby incorporated by reference in itsentirety. Multi-sensor devices of these implementations are configuredto be located in an environment exterior to a building in order toexpose sensors to the outside environment. In some of theseimplementations with multi-sensor devices, power/communication linesextend from the building to the multi-sensor device. In one such case,the multi-sensor device includes a network interface that can couple themulti-sensor device to a suitable cable. The multi-sensor device cancommunicate data through the network interface to a local controller orcontrollers, a network controller, and/or a master controller of thebuilding. In other implementations, the multi-sensor device canadditionally or alternatively include a wireless network interfaceenabling wireless communication with one or more external controllers.In some implementations, the multi-sensor device may also include abattery within or coupled with its housing to power the sensors andelectrical components within. The battery can provide such power in lieuof or in addition to the power from a power supply (for example, from abuilding power supply). In some implementations, the multi-sensor devicefurther includes at least one photovoltaic cell, for example, on asurface of its housing.

FIGS. 4A, 4B, and 4C show perspective views of a diagrammaticrepresentation of an infrared cloud detector system 400 comprising aninfrared cloud detector in the form of a multi-sensor device 401,according to one such implementation. FIGS. 4A and 4B show that themulti-sensor device 401 comprises a housing 410 coupled to a mast 420.The mast 420 can function as a mounting assembly including a first endportion for coupling to a base portion 414 of the housing 410 and asecond end portion for mounting to the building. In one example, thebase portion 414 is fixedly attached or coupled to or with the first endportion of the mast 420 via mechanical threading or via a rubber gasketpress-on. The mast 420 also can include a second end portion that caninclude a mounting or attachment mechanism for mounting or attaching themast 420 to a roof top of the building (e.g., on roof of building withroom 330 shown in FIG. 3) such as, for example, to a surface of theroof, a wall on the roof, or to another structure on the roof. Thehousing includes a cover 411 that is formed of a light-diffusingmaterial. The cover 411 also includes a thinned portion 412.

FIG. 4B also shows that the infrared cloud detector system 400 includesan ambient temperature sensor 420 located on the bottom surface of thebase portion 414 of the multi-sensor device 401. The ambient temperaturesensor 420 is configured to measure ambient temperature of the externalenvironment during operation. The ambient temperature sensor 420 islocated on the bottom surface to be shaded from direct solar radiationwhen infrared cloud detector system 400 is located in an outdoorenvironment with the upper surface facing upward. The temperature sensor420 may be, for example, a thermistor, a thermocouple, a resistancethermometer, a silicon bandgap temperature sensor, etc.

FIG. 4C shows a perspective view of some of the inner components of themulti-sensor device 401 of the infrared cloud detector system 400 shownin FIGS. 4A and 4B. As shown, the infrared cloud detector system 400further includes a visible light sensor 440, a first infrared sensor 452and a second infrared sensor 454. The first infrared sensor 452 andsecond infrared sensor 454 are located on an upper portion of themulti-sensor device 401 and positioned behind the cover 411 (shown inFIGS. 4A and 4B) formed of the light-diffusing material.

As shown in FIG. 4C, the first infrared sensor 452 has a first axis oforientation 453 that is perpendicular to its sensing surface. The secondinfrared sensor 454 has a second axis of orientation 455 that isperpendicular to its sensing surface. In the illustrated example, thefirst and second infrared sensors 452, 454 are positioned so that theiraxis of orientation 453, 455 face outward from the top portion of thehousing 410 (shown in FIGS. 4A and 4B) in order to be able to taketemperature readings during operation that are based on infraredradiation captured from above the multi-sensor device 401. The firstinfrared sensor 452 is separated from the second infrared sensor 454 byat least about one inch. During operation, the first and second infraredsensors 452, 454 detect infrared radiation that is radiated from anyobjects or medium within their field-of-view. The field-of-view is basedon the physical and material properties of the first and second infraredsensors 452, 454. Based on their physical and material properties alone,some examples of infrared sensors have a field-of-view that ranges fromabout 50 degrees to about 80 degrees. In one particular example, aninfrared sensor has a field-of-view of about 70.

The photosensor 440 has an axis of orientation 442 that is perpendicularto its sensing surface. The photosensor 440 is positioned behind thethinned portion 412 of the housing 410 as shown in FIG. 4A. The thinnedportion 412 allows the photosensor 440 to receive visible lightradiation through the thinned portion 412. During operation, thephotosensor 440 measures the intensity of visible light received throughthe thinned portion 412.

In one implementation, the infrared cloud detector system 400 alsoincludes an external controller with a processor that can executeinstructions stored in memory (not shown) for using the logic of theinfrared cloud detector system 400. In this implementation, the infraredcloud detector system 400 further includes logic for determining a cloudcover condition using as input the time of day, day of year, temperaturereadings, T_(IR), from one of both of the infrared sensors 452, 454,ambient temperature readings, T_(A), from the ambient temperature sensor420, and light intensity readings from the photosensor 440, theoscillation frequency of the visible light intensity readings from thephotosensor 440, and the oscillation frequency of the temperaturereadings, T_(IR), from the infrared sensors 452, 454. Examples of suchlogic are described herein, for example, with respect to FIGS. 8-10.

The external controller is in communication with (wirelessly or wired)the infrared sensors 452, 454 and the ambient temperature sensor 420 toreceive signals with temperature readings. The controller is also incommunication with (wirelessly or wired) the photosensor 440 to receivesignals with visible light intensity readings. In some implementations,power/communication lines can extend from the building or anotherstructure to the infrared cloud detector system 400. In oneimplementation, the infrared cloud detector system 400 includes anetwork interface that can couple to a suitable cable. The infraredcloud detector system 400 can communicated data through the networkinterface to the external controller or another controller of thebuilding. In some other implementations, the infrared cloud detectorsystem 400 can additionally or alternatively include a wireless networkinterface enabling wireless communication with one or more externalcontrollers. In some implementations, the infrared cloud detector system400 can also include a battery within or coupled with the housing topower the sensors and electrical components within. The battery canprovide such power in lieu of or in addition to the power from a powersupply (for example, from a building power supply). In someimplementations, the infrared cloud detector system 400 further includesat least one photovoltaic cell, for example, on a surface of thehousing.

D. Comparison of Intensity Readings from a Photosensor with Delta Valuesduring Different Cloud Cover Conditions

As discussed above, infrared sensors can be more accurate than a visiblelight photosensor in detecting a “clear” condition in the early morningand evening. Direct sun light and other conditions can cause, however,some noise that results in oscillations in the infrared sensor readings.If the frequency of these oscillations is low, the infrared sensorreadings can be used to make a high confidence assessment of the cloudcover condition. Also, certain conditions (e.g., fast moving clouds) maycause oscillations in the photosensor readings. If the frequency ofoscillation is low, the photosensor readings can be used to make a highconfidence assessment of the cloud cover condition during the daytime.In certain implementations, logic may determine whether the oscillationsof the infrared sensor readings are of high frequency and/or the whetherthe oscillations of the photosensor readings are of high frequency. Ifit is determined that the oscillations of the infrared sensor readingsare of high frequency, the logic uses the photosensor readings todetermine the cloud cover condition. If it is determined that theoscillations of the photosensor readings are of high frequency, thelogic uses the difference between the infrared sensor readings and theambient temperature sensor readings to determine the cloud covercondition. To illustrate technical advantages of this logic selectingthe type of sensor reading to use depending on the oscillations, FIGS.5A, 5B, 6A, 6B, 7A, and 7B include graphs of plots of intensityreadings, I, taken by a visible light photosensor for comparison withthe difference, delta (Δ), between temperature readings, T_(IR), takenby an infrared sensor and temperature readings, T_(A), taken by anambient temperature sensor during different cloud cover conditions. Thevisible light photosensor, infrared sensor, and ambient temperaturesensor are similar to those described with respect to components of theinfrared cloud detector 310 shown in FIG. 3. Each of the plots is ofreadings taken during the time period of a day.

FIGS. 5A-5B include graphs of plots of readings taken over a day that issunny and clear all day except for a passing cloud during the middle ofthe daytime. FIG. 5A is a graph with a plot 510 of intensity readings,I, taken by the visible light photosensor over time. FIG. 5B is a graphwith a plot 520 of the difference, delta (Δ), between temperaturereadings, T_(IR), taken by the infrared sensor and temperature readings,T_(A), taken by the ambient temperature sensor over time. As shown inthe plot 510 of FIG. 5A, the intensity readings, I, taken by the visiblelight photosensor are high most of the daytime and drop with a highfrequency (short period) oscillation when a cloud passes during themiddle of the daytime. The plot 520 of FIG. 5A shows the values of delta(Δ) do not increase above the lower threshold value during the entireday, which indicates a high confidence “clear” condition.

FIGS. 6A-6B include graphs of plots of readings taken over a day withfrequent passing clouds in the morning until afternoon and the two slowmoving clouds passing later in the afternoon. FIG. 6A is a graph with aplot 610 of intensity readings, I, taken by the visible lightphotosensor over time. FIG. 6B is a graph with a plot 640 of thedifference, delta (Δ), between temperature readings, T_(IR), taken bythe infrared sensor over time and temperature readings, T_(A), taken byan ambient temperature sensor over time. As shown in the plot 610 ofFIG. 6A, the intensity readings, I, taken by the visible lightphotosensor has a high frequency portion 620 during the time period thatthe frequent clouds are passing in the morning until afternoon. The plot610 has a low frequency portion 630 later in the afternoon when two slowmoving clouds pass by. The plot 640 in FIG. 6B shows that the values ofdelta (Δ) have high frequency during the time period that the frequentclouds are passing in the morning until afternoon and the values remainbetween the upper and lower threshold values indicating intermittentcloudy. The values of delta (Δ) later in the afternoon have a lowfrequency oscillations that have values between the upper and lowerthresholds and also below the lower thresholds value shifting between“intermittent cloudy” and “clear” condition. In this case, the infraredsensor values indicate high confidence “intermittent cloudy” conditionfrom morning until afternoon and the photosensor values indicate a highconfidence “intermittent cloudy condition in the later afternoon.

FIGS. 7A-7B include graphs of plots of readings taken over time during aday that is cloudy except for a short time during the middle of the day.FIG. 7A is a graph with a plot 710 of intensity readings, I, taken bythe visible light photosensor over time. FIG. 7B is a graph with a plot720 of the difference, delta (Δ), between temperature readings, T_(IR),taken by the infrared sensor and temperature readings, T_(A), taken byan ambient temperature sensor over time. As shown in the plot 710 ofFIG. 7A, the intensity readings, I, taken by the visible lightphotosensor are low most of the daytime and increase with a highfrequency (short period) oscillation when the sky clears briefly in themiddle of the day. The plot 720 of FIG. 7A shows the values of delta (Δ)do not go below the upper threshold value during the entire day whichindicates a high confidence “cloudy” condition.

In some implementations, an infrared cloud detector system uses readingsfrom an infrared sensor to evaluate the delta differential between theambient temperature and the temperature reading from an infrared sensormeasuring wavelengths in an infrared range, for example, wavelengthsbetween 8-14 micrometers. In some cases, one or more correcting factorsare applied to the calculated delta differential. The delta differentialprovides a relative sky temperature value that can be used to classifythe cloud cover condition. For example, a cloud cover condition may bedetermined in one of three buckets “Clear,” “Cloudy,” and “Overcast.” Inusing this infrared cloud detector system, the cloud cover conditiondetermined has no bearing on if the sun is out or if it is beforesunrise/sunset.

The infrared cloud detector system according to certain implementationsmay have one or more technical advantages. For example, during earlymorning and evening conditions, the infrared sensor can determine if itis cloudy or sunny independent of visible light intensity levels. Thisdetermination of cloud cover condition during these times, when aphotosensor would be ineffective while the sun is still up, may provideadditional context to determining a tint state of a tintable window. Asanother example, the infrared sensor can be used to detect the generalcloud cover condition within its field-of-view. This information can beused in conjunction with photosensor readings to determine if a “clear”or “cloudy” condition determined by the photosensor is likely topersist. For example, if the photo sensor detects a sharp rise inintensity levels which would tend to indicate a “clear” condition, butthe infrared sensor indicates a “cloudy” condition, the “clear”condition is not expected to persist. Conversly, if the infrared sensorsays a “clear” condition and the photosensor readings indicate that itsa “clear” condition, then the “clear” condition is likely to persist. Asanother example, on occasions where a tintable window needs to be at asteady state at sunrise, the transition needs to start at X time (e.g.,transition time) before sunrise. During this time, the photosensor isineffective as there is minimal light exposure. The IR sensor candetermine the cloud conditions before sunrise to inform the controllogic whether to begin the tinting process (during clear sky) or keepthe tintable window clear in anticipation of a “cloudy” condition atsunrise.

III. Methods of using Readings from at Least One Infrared Sensor and OneAmbient Temperature Sensor to Determine a Cloud Cover Condition

FIGS. 8-10 show flow charts describing methods of using readings from atleast one infrared sensor and one ambient temperature sensor todetermine a cloud cover condition, according to various embodiments. InFIGS. 9-10, readings from at least one photosensor can also be used todetermine the cloud cover condition under certain conditions. In somecases, the infrared sensor used to take temperature readings iscalibrated to detect infrared radiation in about the 8 μm to 14 μmspectrum and/or has a field-of-view of about 72 degrees. In some cases,the photosensor used to take the photosensor readings is calibrated todetect intensity of visible light (e.g., between about 390 nm and about700 nm) within a photopic range, which generally refers to light that isvisible to the average human eye under well-lit conditions (e.g., aluminance level ranging from between about 10 cd/m² and about 108cd/m²). Although these methods are described with respect to readingsfrom a single infrared sensor, a single ambient temperature sensor,and/or a single photosensor, it would be understood that values frommultiple sensors of a type can be used, for example, multiple sensorsoriented in different directions can be used. If multiple sensors areused, the method may use a single value based on a sensor (e.g., afunctioning sensor) of a particular orientation or take an average,mean, or other statistically relevant value of readings from multiplefunctioning sensors. In other cases, there may be redundant sensors andthe infrared cloud detector may have logic that uses the values from afunctioning sensor. For example, by evaluating which of the sensors isfunctioning and/or which are not functioning based on comparing thereadings from the various sensors.

A. Method I

FIG. 8 shows a flowchart 800 describing a method that uses temperaturereadings from an infrared sensor and an ambient temperature sensor todetermine a cloud cover condition, according to implementations. Theinfrared sensor and ambient temperature sensor of the infrared clouddetector system generally take readings (at sample times) on a periodicbasis. A processor executes instructions stored in memory to perform theoperations of this method. In one implementation, the infrared clouddetector system has components similar to those described with respectto the system having the infrared cloud detector 100 described withrespect to FIG. 1. In another implementation, the infrared clouddetector system has components similar to those described with respectto the system with infrared cloud detector 310 in FIG. 3.

In FIG. 8, the method starts at operation 801. At operation 810, asignal(s) is received, at the processor, with temperature reading,T_(IR), taken by an infrared sensor and temperature reading, T_(A),taken by the ambient temperature sensor. Signals from the infraredsensor and/or ambient temperature sensor are received wirelessly and/orvia wired electrical connections. The infrared sensor takes temperaturereadings based on infrared radiation received within its field-of-view.The infrared sensor is usually oriented toward a region of sky ofinterest, for example, a region above a building. The ambienttemperature sensor is configured to be exposed to the outsideenvironment to measure the ambient temperature.

At operation 820, the processor calculates the difference, delta (Δ),between the temperature reading, T_(IR), taken by the infrared sensorand the temperature reading, T_(A), taken by an ambient temperaturesensor at a sample time. Optionally (denoted by dotted line), correctionfactors are applied to the calculated delta (Δ) (operation 830). Someexamples of correction factors that may be applied include humidity, sunangle/elevation, and site elevation.

At operation 840, the processor determines whether the calculated delta(Δ) value is below a lower threshold value (e.g., −5 degrees Celsius, −2degrees Celsius, etc.). If it is determined that the calculated delta(Δ) value is below the lower threshold value, the cloud cover conditionis determined to be a “clear” condition (operation 850). Duringoperation of the infrared cloud detector, the method then increments tothe next sample time and returns to operation 810.

If it is determined that the calculated delta (Δ) is above the lowerthreshold value, then the processor determines whether the calculateddelta (Δ) is above an upper threshold value (e.g., 0 degrees Celsius, 2degrees Celsius, etc.) at operation 860. If it is determined that thecalculated delta (Δ) is above the upper threshold value at operation860, then the processor determines the cloud cover condition to be a“cloudy” condition (operation 870). During operation of the infraredcloud detector, the method then increments to the next sample time andreturns to operation 810.

If it is determined that the calculated delta (Δ) is below the upperthreshold value at operation 860, then the processor determines thecloud cover condition to be “intermittent cloudy” or anotherintermediate condition (operation 880). During operation of the infraredcloud detector, the method then increments to the next sample time andreturns to operation 810.

B. Method II

FIG. 9 shows a flowchart 900 describing a method that determines a cloudcover condition using readings from an infrared sensor, an ambienttemperature sensor, and a photosensor of an infrared cloud detectorsystem, according to implementations. The infrared sensor, ambienttemperature sensor, and photosensor generally take readings (at sampletimes) on a periodic basis. The infrared cloud detector system alsoincludes a processor that can execute instructions stored in memory toperform the operations of this method. In one implementation, theinfrared sensor, ambient temperature sensor, and photosensor are similarto components of the infrared cloud detector system 300 described withrespect to FIG. 3. In another implementation, the infrared sensor,ambient temperature sensor, and photosensor are similar to components ofthe infrared cloud detector system 400 described with respect to FIG.4A-4C.

In FIG. 9, the method starts at operation 901. At operation 910, one ormore signals are received, at the processor, with a temperature reading,T_(IR), taken by an infrared sensor at a particular sample time, atemperature reading, T_(A), taken by the ambient temperature sensor atthe sample time, and an intensity reading taken by the photosensor atthe sample time. Signals from the infrared sensor, ambient temperaturesensor, and photosensor are received wirelessly and/or via wiredelectrical connections. The infrared sensor takes temperature readingsbased on infrared radiation received within its field-of-view. Theinfrared sensor is usually oriented toward a region of sky of interest,for example, a region above a building. The ambient temperature sensoris configured to be exposed to the outside environment to measure theambient temperature. The sensing surface of the photosensor is usuallyalso oriented toward the region of sky of interest and direct sunlightis blocked or diffused from impinging the sensing surface.

At operation 920, the processor determines whether the time of day isduring one of the following time periods: (i) a time period shortlybefore sunrise (e.g., starting at a first time of 45 minutes beforesunrise, 30 minutes before sunrise, 20 minutes before sunrise, or othersuitable amount of time before sunrise) and up to slightly after sunrise(e.g., starting at a second time of 45 minutes after sunrise, 30 minutesafter sunrise, 20 minutes after sunrise, or other suitable amount oftime after sunrise) and (iii) a time period shortly before sunset (dusk)(e.g., starting at a third time of 45 minutes before sunset, 30 minutesbefore sunset, 20 minutes before sunset, or other suitable amount oftime before sunset) and up until sunset. In one case, the time ofsunrise can be determined from measurements taken by the visiblewavelength photosensor. For example, the time period (i) may end at thepoint where a visible light wavelength photosensor begins to measuredirect sunlight i.e. an intensity reading of the visible lightphotosensor is at or above a minimum intensity value. In addition oralternatively, the time period (iii) may be determined to end at thepoint where the intensity reading from a visible light wavelengthphotosensor is at or below a minimum intensity value. In anotherexample, the time of sunrise and/or the time of sunset may be calculatedusing a solar calculator and the day of the year and the time periods(i) and (iii) can be calculated by a defined period of time (e.g., 45minutes) before and after the calculated times of sunrise/sunset.

If it is determined at operation 920 that the time of day is duringeither of the time periods (i) or (iii), then the processor calculatesthe difference, delta (Δ), between the temperature reading, T_(IR),taken by the infrared sensor and the temperature reading, T_(A), takenby an ambient temperature sensor at a sample time (operation 930).Optionally (denoted by dotted line), correction factors are applied tothe calculated delta (Δ) (operation 930). Some examples of correctionfactors that may be applied include humidity, sun angle/elevation, andsite elevation.

In one embodiment, the processor also determines at operation 920whether the infrared readings are oscillating at a frequency greaterthan a second defined level. If the processor determines at operation920 that the time of day is either within the time period (i) or (iii)and the infrared readings are oscillating at a frequency greater than asecond defined level, then the processor applies operation 990 to usethe photosensor readings to determine the cloud condition. For example,the processor may determine a “clear” condition if the photosensorreading is above a certain minimum intensity level and determine a“cloudy” condition if the photosensor reading is at or below minimumintensity level. If the system is still in operation, the methodincrements to the next sample time and returns to operation 910.

At operation 934, the processor determines whether the calculated delta(Δ) value is below a lower threshold value (e.g., −5 degrees Celsius, −2degrees Celsius, etc.). If it is determined that the calculated delta(Δ) value is below the lower threshold value, the cloud cover conditionis determined to be a “clear” condition (operation 936). Duringoperation of the infrared cloud detector, the method then increments tothe next sample time and returns to operation 910.

If it is determined that the calculated delta (Δ) is above the lowerthreshold value, then the processor determines whether the calculateddelta (Δ) is above an upper threshold value (e.g., 0 degrees Celsius, 2degrees Celsius, etc.) at operation 940. If it is determined that thecalculated delta (Δ) is above the upper threshold value at operation940, then the processor determines the cloud cover condition to be a“cloudy” condition (operation 942). If still in operation, the methodincrements to the next sample time and returns to operation 910.

If it is determined that the calculated delta (Δ) is below the upperthreshold value at operation 940, then the processor determines thecloud cover condition to be “intermittent cloudy” or anotherintermediate condition (operation 950). If the system is still inoperation, the method increments to the next sample time and returns tooperation 910.

If it is determined at operation 920 that the time of day is not duringeither of the time periods (i) or (iii), then the processor determineswhether the time of day is during the time period (ii) which is in thedaytime after the time period (i) and before time period (iii)(operation 960). If the processor determines at operation 960 that thetime of day is during the time period (ii) daytime, then the processorcalculates the difference between the temperature reading, T_(IR), takenby the infrared sensor and the intensity reading taken by thephotosensor (operation 970). At operation 980, the processor determineswhether the calculated difference is within an acceptable limit. If theprocessor determines at operation 980 that the calculated difference ismore than the acceptable limit, then the processor applies operation 930to calculate the delta (Δ) and uses the calculated delta (Δ) todetermine the cloud cover condition as discussed above.

In one embodiment, the processor also determines at operation 960whether the infrared readings are oscillating at a frequency greaterthan a second defined level. If the processor determines at operation960 the time of day is within the time period (ii) and that the infraredreadings are oscillating at a frequency greater than a second definedlevel, then the processor applies operation 990 to use the photosensorreadings to determine the cloud condition. For example, the processormay determine a “clear” condition if the photosensor reading is above acertain minimum intensity level and determine a “cloudy” condition ifthe photosensor reading is at or below minimum intensity level. If thesystem is still in operation, the method increments to the next sampletime and returns to operation 910.

If the processor determines at operation 980 that the calculateddifference is within the acceptable limit, the photosensor reading isused to determine the cloud cover condition (operation 990). Forexample, the processor may determine a “clear” condition if thephotosensor reading is above a certain minimum intensity level anddetermine a “cloudy” condition if the photosensor reading is at or belowminimum intensity level. If the system is still in operation, the methodincrements to the next sample time and returns to operation 910.

In one embodiment, the processor also determines at operation 970whether the photosensor readings are oscillating at a frequency greaterthan a first defined level and whether the infrared readings areoscillating at a frequency greater than a second defined level. If theprocessor determines at operation 980 that the calculated difference iswithin the acceptable limit and the processor determines that thephotosensor readings are oscillating at a frequency greater than thefirst defined level, then the processor applies operation 930 tocalculate the delta (Δ) and use the calculated delta (Δ) is useddetermine the cloud cover condition as discussed above. If the processordetermines at operation 980 that the calculated difference is not withinthe acceptable limit and the processor determines that the infraredreadings are oscillating at a frequency greater than the second definedlevel, then the processor applies operation 990 to use the photosensorreadings to determine the cloud condition. For example, the processormay determine a “clear” condition if the photosensor reading is above acertain minimum intensity level and determine a “cloudy” condition ifthe photosensor reading is at or below minimum intensity level. If thesystem is still in operation, the method increments to the next sampletime and returns to operation 910.

If the processor determines at operation 960 that the time of day is inthe nighttime time period (iv) after time period (iii) and before timeperiod (i), the processor calculates the delta at operation 930 and usesthe calculated delta (Δ) to determine the cloud cover condition asdiscussed above.

C. Method III—Module C Algorithm that uses Infrared Sensor, AmbientTemperature Sensor, and Photosensor Readings.

In energy efficient buildings, control logic for setting levels of itsbuilding systems may consider cloud cover. For example, in buildingswith optically-switchable windows, control logic may consider cloudcover in setting window optical states (e.g., tint states in anelectrochromic window). Conventional systems that purport to providethis functionality typically employ expensive sensing equipment to mapthe entire sky and track clouds. This mapping technology can also behampered by not being able to register clouds until there is enoughlight to see them. Thus, by the time the clouds are registered, buildingsystems may not need to be adjusted.

In various implementations described herein, a cloud cover conditiondetermined by sensor data from an infrared cloud detector system (e.g.,a system of FIG. 1, system 300 in FIG. 3, system 400 in FIGS. 4A-4C, orother infrared cloud detector system described herein) can be used toset levels of building systems. As an example, this section describescontrol logic that uses sensor readings from sensors in an infraredcloud detector system to determine a cloud cover condition and set tintlevels in one or more optically-switchable windows (e.g., electrochromicwindows) of a building based on the determined cloud cover condition.Electrochromic windows have one or more electrochromic devices such asthe electrochromic devices described in U.S. Pat. No. 8,764,950, issuedon Jul. 1, 2014 and titled “ELECTROCHROMIC DEVICES,” and U.S. patentapplication Ser. No. 13/462,725, filed on May 2, 2012 and titled“ELECTROCHROMIC DEVICES,” both of which are hereby incorporated byreference in their entirety.

i) Introduction to Electrochromic Devices/Windows

FIG. 10A schematically depicts an electrochromic device 1000, incross-section. The electrochromic device 1000 includes a substrate 1002,a first conductive layer (CL) 1004, an electrochromic layer (EC) 1006,an ion conducting layer (IC) 1008, a counter electrode layer (CE) 1010,and a second conductive layer (CL) 1014. In one implementation, theelectrochromic layer (EC) 1006 comprising tungsten oxide and the counterelectrode layer (CE) 1010 comprises nickel-tungsten oxide. Layers 1004,1006, 1008, 1010, and 1014 are collectively referred to as anelectrochromic stack 1020. A voltage source 1016 operable to apply anelectric potential across the electrochromic stack 1020 effectstransition of the electrochromic device, for example, between a bleachedstate (e.g., as depicted in FIG. 10B) and a colored state (e.g., asdepicted in FIG. 10C). The order of layers can be reversed with respectto the substrate 1002.

In some cases, electrochromic devices having distinct layers and can befabricated as all solid state devices and/or all inorganic devices.Examples of such devices and methods of fabricating them are describedin more detail in U.S. patent application Ser. No. 12/645,111, titled“Fabrication of Low-Defectivity Electrochromic Devices” and filed onDec. 22, 2009, and in U.S. patent application Ser. No. 12/645,159(issued as U.S. Pat. No. 8,432,603 on Apr. 30, 2013), titled“Electrochromic Devices” and filed on Dec. 22, 2009, both of which arehereby incorporated by reference in their entireties. It should beunderstood, however, that any one or more of the layers in the stack maycontain some amount of organic material. The same can be said forliquids that may be present in one or more layers in small amounts. Itshould also be understood that solid state material may be deposited orotherwise formed by processes employing liquid components such ascertain processes employing sol-gels or chemical vapor deposition.Additionally, it should be understood that reference to a transitionbetween a bleached state and colored state is non-limiting and suggestsonly one example, among many, of an electrochromic transition that maybe implemented. Unless otherwise specified herein (including theforegoing discussion), whenever reference is made to a bleached-coloredtransition, the corresponding device or process encompasses otheroptical state transitions such as non-reflective-reflective,transparent-opaque, etc. Further, the term “bleached” refers to anoptically neutral state, for example, uncolored, transparent, ortranslucent. Still further, unless specified otherwise herein, the“color” of an electrochromic transition is not limited to any particularwavelength or range of wavelengths. As understood by those of skill inthe art, the choice of appropriate electrochromic and counter electrodematerials governs the relevant optical transition.

In some implementations, an electrochromic device is configured toreversibly cycle between a bleached state and a colored state. When theelectrochromic device is in a bleached state, a potential is applied tothe electrochromic stack 1020 such that available ions in the stackreside primarily in the counter electrode 1010. When the potential onthe electrochromic stack is reversed, the ions are transported acrossthe ion conducting layer 1008 to the electrochromic material 1006 andcause the material to transition to the colored state. In a similar way,the electrochromic device of certain implementations described herein isconfigured to reversibly cycle between different tint levels (e.g.,bleached state, darkest colored state, and intermediate levels betweenthe bleached state and the darkest colored state).

Referring again to FIG. 10A, a voltage source 1016 is configured tooperate in conjunction with input from sensors. As described herein, thevoltage source 1016 interfaces with a controller (not shown in thisfigure). Additionally, the voltage source 1016 may interface with anenergy management system that controls the electrochromic deviceaccording to various criteria such as the time of year, time of day, andmeasured environmental conditions. Such an energy management system, inconjunction with large area electrochromic windows can dramaticallylower the energy consumption of a building having the electrochromicwindows.

Any material having suitable optical, electrical, thermal, andmechanical properties may be used as the substrate 1002 or othersubstrate of an electrochromic stack described herein. Examples ofsuitable substrates include, for example, glass, plastic, and mirrormaterials. Suitable glasses include either clear or tinted soda limeglass, including soda lime float glass. The glass may be tempered oruntempered. In many cases, the substrate is a glass pane sized forresidential window applications. The size of such glass pane can varywidely depending on the specific needs of the residence. In other cases,the substrate is architectural glass. Architectural glass is typicallyused in commercial buildings, but may also be used in residentialbuildings, and typically, though not necessarily, separates an indoorenvironment from an outdoor environment. In certain examples,architectural glass is at least 20 inches by 20 inches, and can be muchlarger, for example, as large as about 80 inches by 120 inches.Architectural glass is typically at least about 2 mm thick, typicallybetween about 3 mm and about 6 mm thick. Of course, electrochromicdevices are scalable to substrates smaller or larger than architecturalglass. Further, the electrochromic device may be provided on a mirror ofany size and shape.

On top of the illustrated substrate 1002 is a conductive layer 1004. Incertain implementations, one or both of the conductive layers 1004 and1014 is inorganic and/or solid. The conductive layers 1004 and 1014 maybe made from a number of different materials, including conductiveoxides, thin metallic coatings, conductive metal nitrides, and compositeconductors. Typically, the conductive layers 1004 and 1014 aretransparent at least in the range of wavelengths where electrochromismis exhibited by the electrochromic layer. Transparent conductive oxidesinclude metal oxides and metal oxides doped with one or more metals.Examples of such metal oxides and doped metal oxides include indiumoxide, indium tin oxide, doped indium oxide, tin oxide, doped tin oxide,zinc oxide, aluminum zinc oxide, doped zinc oxide, ruthenium oxide,doped ruthenium oxide and the like. Since oxides are often used forthese layers, they are sometimes referred to as “transparent conductiveoxide” (TCO) layers. Thin metallic coatings that are substantiallytransparent may also be used, as well as combinations of TCOs andmetallic coatings.

The function of the conductive layers is to spread an electric potentialprovided by the voltage source 1016 over surfaces of the electrochromicstack 1020 to interior regions of the stack, with relatively littleohmic potential drop. The electric potential is transferred to theconductive layers though electrical connections to the conductivelayers. In some aspects, bus bars, at least one in contact withconductive layer 1004 and at least one in contact with conductive layer1014, provide the electric connection between the voltage source 1016and the conductive layers 1004 and 1014. The conductive layers 1004 and1014 may also be connected to the voltage source 1016 with otherconventional means.

Overlaying the illustrated conductive layer 1004 is an electrochromiclayer 1006. In some aspects, the electrochromic layer 1006 is inorganicand/or solid. The electrochromic layer may contain any one or more of anumber of different electrochromic materials including metal oxides.Some examples of suitable metal oxides include tungsten oxide (WO₃),molybdenum oxide (MoO₃), niobium oxide (Nb₂O₅), titanium oxide (TiO₂),copper oxide (CuO), iridium oxide (Ir2O₃), chromium oxide (Cr₂O₃),manganese oxide (Mn₂O₃), vanadium oxide (V₂O₅), nickel oxide (Ni₂O₃),cobalt oxide (Co₂O₃) and the like. During operation, the electrochromiclayer 1006 transfers ions to and receives ions from the counterelectrode layer 1010 to cause reversible optical transitions. Generally,the colorization (or change in any optical property—e.g., absorbance,reflectance, and transmittance) of the electrochromic material is causedby reversible ion insertion into the material (e.g., intercalation) anda corresponding injection of a charge balancing electron. Typically somefraction of the ions responsible for the optical transition isirreversibly bound up in the electrochromic material. Some or all of theirreversibly bound ions are used to compensate “blind charge” in thematerial. In most electrochromic materials, suitable ions includelithium ions (Li+) and hydrogen ions (H+) (that is, protons). In somecases, however, other ions will be suitable. In various embodiments,lithium ions are used to produce the electrochromic phenomena.Intercalation of lithium ions into tungsten oxide (WO_(3-y)(0<y≤0.3))causes the tungsten oxide to change from transparent (bleached state) toblue (colored state).

Referring again to FIG. 10A, in the electrochromic stack 1020, the ionconducting layer 1008 is sandwiched between the electrochromic layer1006 and the counter electrode layer 1010. In some embodiments, thecounter electrode layer 1010 is inorganic and/or solid. The counterelectrode layer may comprise one or more of a number of differentmaterials that serve as a reservoir of ions when the electrochromicdevice is in the bleached state. During an electrochromic transitioninitiated by, for example, application of an appropriate electricpotential, the counter electrode layer transfers some or all of the ionsit holds to the electrochromic layer, changing the electrochromic layerto the colored state. Concurrently, in the case of NiWO, the counterelectrode layer colors with the loss of ions. Suitable materials for thecounter electrode complementary to WO₃ include nickel oxide (NiO),nickel tungsten oxide (NiWO), nickel vanadium oxide, nickel chromiumoxide, nickel aluminum oxide, nickel manganese oxide, nickel magnesiumoxide, chromium oxide (Cr₂O₃), manganese oxide (MnO₂), and Prussianblue. When charge is removed from a counter electrode 1010 made ofnickel tungsten oxide (that is, ions are transported from counterelectrode 1010 to electrochromic layer 1006), the counter electrodelayer 1010 will transition from a transparent state to a colored state.

In the illustrated electrochromic device 1100, between theelectrochromic layer 1006 and the counter electrode layer 1010, there isthe ion conducting layer 1008. The ion conducting layer 1008 serves as amedium through which ions are transported (in the manner of anelectrolyte) when the electrochromic device transitions between thebleached state and the colored state. Preferably, ion conducting layer1008 is highly conductive to the relevant ions for the electrochromicand the counter electrode layers, but has sufficiently low electronconductivity that negligible electron transfer takes place during normaloperation. A thin ion conducting layer with high ionic conductivitypermits fast ion conduction and hence fast switching for highperformance electrochromic devices. In certain aspects, the ionconducting layer 1008 is inorganic and/or solid.

Examples of suitable materials for an ion conducting layer (i.e. forelectrochromic devices having a distinct IC layer) include silicates,silicon oxides, tungsten oxides, tantalum oxides, niobium oxides, andborates. These materials may be doped with different dopants, includinglithium. Lithium doped silicon oxides include lithiumsilicon-aluminum-oxide. In some embodiments, the ion conducting layercomprises a silicate-based structure. In one aspect, asilicon-aluminum-oxide (SiAlO) is used for the ion conducting layer1008.

In certain implementations, the electrochromic device 1000 includes oneor more additional layers (not shown), such as one or more passivelayers. Passive layers used to improve certain optical properties may beincluded in the electrochromic device 1000. Passive layers for providingmoisture or scratch resistance may also be included in electrochromicdevice 1000. For example, the conductive layers may be treated withanti-reflective or protective oxide or nitride layers. Other passivelayers may serve to hermetically seal electrochromic device 300.

FIG. 10B is a schematic cross-section of an electrochromic device in ableached state (or transitioning to a bleached state). In accordancewith this illustrated example, an electrochromic device 1100 includes atungsten oxide electrochromic layer (EC) 1106 and a nickel-tungstenoxide counter electrode layer (CE) 1110. The electrochromic device 1100also includes a substrate 1102, a conductive layer (CL) 11011, an ionconducting layer (IC) 1108, and conductive layer (CL) 1114. Layers 1104,1106, 1108, 1010, and 1114 are collectively referred to as anelectrochromic stack 1120. A power source 1116 is configured to apply avoltage potential and/or current to the electrochromic stack 1120through suitable electrical connections (e.g., bus bars) to theconductive layers 1104 and 1114. In one aspect, the voltage source isconfigured to apply a potential of a few volts in order to drive atransition of the device from one optical state to another. The polarityof the potential as shown in FIG. 10B is such that the ions (lithiumions in this example) primarily reside (as indicated by the dashedarrow) in nickel-tungsten oxide counter electrode layer 1110

FIG. 10C is a schematic cross-section of the electrochromic device 1100shown in FIG. 10B but in a colored state (or transitioning to a coloredstate). In FIG. 10C, the polarity of voltage source 1116 is reversed, sothat the tungsten oxide electrochromic layer 1106 is made more negativeto accept additional lithium ions, and thereby transition to the coloredstate. As indicated by the dashed arrow, lithium ions are transportedacross the ion conducting layer 1108 to the tungsten oxideelectrochromic layer 1106. The tungsten oxide electrochromic layer 1106is shown in the colored state or transitioning to the colored state. Thenickel-tungsten oxide counter electrode 1110 is also shown in thecolored state or transitioning to the colored state. As explained,nickel-tungsten oxide becomes progressively more opaque as it gives up(deintercalates) lithium ions. In this example, there is a synergisticeffect where the transition to colored states for both layers 1106 and1110 are additive toward reducing the amount of light transmittedthrough the electrochromic stack and the substrate.

In certain implementations, an electrochromic device includes anelectrochromic (EC) electrode layer and a counter electrode (CE) layerseparated by an ionically conductive (IC) layer that is highlyconductive to ions and highly resistive to electrons. As conventionallyunderstood, the ionically conductive layer therefore prevents shortingbetween the electrochromic layer and the counter electrode layer. Theionically conductive layer allows the electrochromic and counterelectrodes to hold a charge and thereby maintain their bleached orcolored states. In electrochromic devices having distinct layers, thecomponents form a stack which includes the ion conducting layersandwiched between the electrochromic electrode layer and the counterelectrode layer. The boundaries between these three stack components aredefined by abrupt changes in composition and/or microstructure. Thus,the devices have three distinct layers with two abrupt interfaces.

In accordance with certain implementations, the counter electrode andelectrochromic electrodes are formed immediately adjacent one another,sometimes in direct contact, without separately depositing an ionicallyconducting layer. In some implementations, electrochromic devices havingan interfacial region rather than a distinct IC layer are employed. Suchdevices, and methods of fabricating them, are described in U.S. Pat. No.8,300,298, U.S. Pat. No. 8,582,193, U.S. Pat. No. 8,764,950, and U.S.Pat. No. 8,764,951—each of the patents is titled “ElectrochromicDevices,” and each is hereby incorporated by reference in its entirety.

In certain implementations, an electrochromic device may be integratedinto an insulated glass unit (IGU) of an electrochromic window or may bein a single pane electrochromic window. For example, an electrochromicwindow may have an IGU including a first electrochromic lite and asecond lite. The IGU also includes a spacer separating the firstelectrochromic lite and the second lite. The second lite in the IGU maybe a non-electrochromic lite or otherwise. For example, the second litemay have an electrochromic device thereon and/or one or more coatingssuch as low-E coatings and the like. Either of the lites can also belaminated glass. Between the spacer and the first TCO layer of theelectrochromic lite is a primary seal material. This primary sealmaterial is also between spacer and second glass lite. Around theperimeter of spacer is a secondary seal. These seals aid in keepingmoisture out of the interior space of the IGU. They also serve toprevent argon or other gas that may be introduced into the interiorspace of the IGU from escaping. The IGU also includes bus bar wiring forconnection to a window controller. In some implementations, one or bothof the bus bars are inside the finished IGU, however in oneimplementation one bus bar is outside the seal of the IGU and one busbar is inside the IGU. In the former embodiment, an area is used to makethe seal with one face of the spacer used to form the IGU. Thus, thewires or other connection to the bus bars runs between the spacer andthe glass. As many spacers are made of metal, e.g., stainless steel,which is conductive, it is desirable to take steps to avoid shortcircuiting due to electrical communication between the bus bar andconnector thereto and the metal spacer.

iii) Logic for Controlling Electrochromic Devices/Windows

In some implementations, a controller (e.g., local window controller,network controller, master controller, etc.) includes intelligencecontrol logic for calculating, determining, selecting or otherwisegenerating tint states for one or more optically-switchable windows(e.g., electrochromic windows) of a building. This control logic can beused to determine a cloud cover condition based on sensor data from aninfrared cloud detector system at the building and use the determinedcloud cover condition to determine tint states for theoptically-switchable windows. This control logic can be used toimplement methods for determining and controlling desired tint levelsfor the one more electrochromic windows or other tintable windows toaccount for occupant comfort and/or energy conservation considerations.In some cases, the control logic employs one or more logic modules.FIGS. 11A-11C include diagrams depicting some general input to each ofthree logic Modules A, B, and C of an exemplary control logic ofdisclosed implementations. Additional examples of Modules A, B, and Care described in International Patent Application PCT/US16/41344, titled“CONTROL METHOD FOR TINTABLE WINDOWS,” filed on Jul. 7, 2016, and inPCT/US15/29675, titled “CONTROL METHOD FOR TINTABLE WINDOWS” and filedon May 5, 2015, each of which is hereby incorporated by reference in itsentirety.

FIGS. 11A-11C include diagrams depicting some general input to each ofthree logic Modules A, B, and C of an exemplary control logic ofdisclosed implementations. Each diagram depicts a schematic side view ofa room 1200 of a building having a desk 1201 and an electrochromicwindow 1205 located between the exterior and the interior of thebuilding. The diagram also depicts an infrared cloud detector system inaccordance with one example. In other implementations, another exampleof an infrared cloud detector system described herein can be used. Inthe illustrated example, the infrared cloud detector system includes aninfrared cloud detector 1230 located on the roof of the building. Theinfrared cloud detector 1230 comprises a housing 1232 having a covermade of light-diffusing material, an infrared sensor 1234 and aphotosensor 1210 within the enclosure of the housing 1232, and anambient temperature sensor 1236 located on a shaded surface of thehousing 1232. The infrared sensor 1234 is configured to take temperaturereadings, T_(IR), based on infrared radiation received form the regionof sky within its conical field-of-view 1235. The ambient temperaturesensor 1236 is configured to take ambient temperature readings, T_(A),of the ambient air surrounding the infrared cloud detector 1230. Theinfrared sensor 1234 includes an imaginary axis that is perpendicular tothe sensing surface of the infrared sensor 1234 and passes through itscenter. The infrared sensor 1234 is directed so that its sensing surfacefaces upward and can receive infrared radiation from a region of the skywithin its field-of-view 1235. The ambient temperature sensor 1236 islocated on a shaded surface to avoid direct sunlight from impinging itssensing surface. Although not shown, the infrared cloud detector 1230also includes one or more structures that hold its components within thehousing 1232.

The infrared cloud detector system also includes a local windowcontroller 1250 with a processor that can execute instructions stored inmemory (not shown) for implementing the control logic to control thetint level of the electrochromic window 1205. The controller 1250 is incommunication with the electrochromic window 1205 to send controlsignals. The controller 1250 is also in communication with (wirelesslyor wired) the infrared sensor 1234 and the ambient temperature sensor1236 to receive signals with temperature readings. The controller 1250is also in communication with (wirelessly or wired) the photosensor 1210to receive signals with visible light intensity readings.

According to certain aspects, power/communication lines extend from thebuilding or another structure to the infrared cloud detector 1230. Inone implementation, the infrared cloud detector 1230 includes a networkinterface that can couple the infrared cloud detector 1230 to a suitablecable. The infrared cloud detector 1230 can communicated data throughthe network interface to the controller 1250 or another controller(e.g., network controller and/or master controller) of the building. Insome other implementations, the infrared cloud detector 1230 canadditionally or alternatively include a wireless network interfaceenabling wireless communication with one or more external controllers.In some aspects, the infrared cloud detector 1230 can also include abattery within or coupled with its housing to power the sensors andelectrical components within. The battery can provide such power in lieuof or in addition to the power from a power supply (for example, from abuilding power supply). In one aspect, the infrared cloud detector 1230further includes at least one photovoltaic cell, for example, on anouter surface of the housing. This at least one photovoltaic cell canprovide power in lieu of or in addition to the power provided by anyother power supply.

FIG. 11A shows the penetration depth of direct sunlight into a room 1200through an electrochromic window 1205 between the exterior and theinterior of a building, which includes the room 1200. Penetration depthis a measure of how far direct sunlight will penetrate into the room1200. As shown, penetration depth is measured in a horizontal directionaway from the sill (bottom) of window 1205. Generally, the windowdefines an aperture that provides an acceptance angle for directsunlight. The penetration depth is calculated based upon the geometry ofthe window (e.g., window dimensions), its position and orientation inthe room, any fins or other exterior shading outside of the window, andthe position of the sun (e.g. angle of direct sunlight for a particulartime of day and date). Exterior shading to an electrochromic window 1205may be due to any type of structure that can shade the window such as anoverhang, a fin, etc. In FIG. 11A, there is an overhang 1220 above theelectrochromic window 1205 that blocks a portion of the direct sunlightentering the room 1200 thus shortening the penetration depth.

Module A can be used to determine a tint level that considers occupantcomfort from direct sunlight through the electrochromic window 1205 ontoan occupant or their activity area. The tint level is determined basedon a calculated penetration depth of direct sunlight into the room andthe space type (e.g., desk near window, lobby, etc.) in the room at aparticular instant in time (time of day and day of year). In some cases,the tint level may also be based on providing sufficient naturallighting into the room. In some cases, the penetration depth is thevalue calculated at a time in the future to account for glass transitiontime (the time required for the window to tint, e.g. to 80%, 90% or 100%of the desired tint level). The issue addressed in Module A is thatdirect sunlight may penetrate so deeply into the room 1200 as to showdirectly on an occupant working at a desk or other work surface in aroom. Publicly available programs can provide calculation of the sun'sposition and allow for easy calculation of penetration depth.

FIGS. 11A-11C also shows a desk 1201 in the room 1200 as an example of aspace type associated with an activity area (i.e. desk) and location ofthe activity area (i.e. location of desk). Each space type is associatedwith different tint levels for occupant comfort. For example, if theactivity is a critical activity such as work in an office being done ata desk or computer, and the desk is located near the window, the desiredtint level may be higher than if the desk were further away from thewindow. As another example, if the activity is non-critical, such as theactivity in a lobby, the desired tint level may be lower than for thesame space having a desk.

FIG. 11B shows direct sunlight and radiation under clear sky conditionsentering the room 1200 through the electrochromic window 1205, accordingto an implementation. The radiation may be from sunlight scattered bymolecules and particles in the atmosphere. Module B determines a tintlevel based on calculated values of irradiance under clear skyconditions flowing through the electrochromic window 1205 underconsideration. Various software, such as open source RADIANCE program,can be used to calculate clear sky irradiance at a certain latitude,longitude, time of year, and time of day, and for a given windoworientation.

FIG. 11C shows radiant light from the sky as may be obstructed by orreflected from objects such as, for example, clouds and other buildings,according to an implementation. These obstructions and reflections arenot accounted for in the clear sky radiation calculations. The radiantlight from the sky is determined based on sensor data from sensors suchas, for example, the infrared sensor 1234, the photosensor 1210, and theambient temperature sensor 1236 of the infrared cloud detector system.The tint level determined by Module C is based on the sensor data. Inmany cases, the tint level is based on a cloud cover conditiondetermined using sensor data from the sensors. Generally, the operationsof Module B will determine a tint level that darkens (or does notchange) the tint level determined by Module A and the operations ofModule C will determine a tint level that lightens (or does not change)the tint level determined by Module B.

The control logic may implement one or more of the logic Modules A, Band C separately for each electrochromic window 1205 in the building.Each electrochromic window 1205 can have a unique set of dimensions,orientation (e.g., vertical, horizontal, tilted at an angle), position,associated space type, etc. A configuration file with this informationand other information can be maintained for each electrochromic window1205. The configuration file may be stored in a computer readable mediumof the local window controller 1250 of the electrochromic window 1205 orin the building management system (“BMS”) described later in thisdisclosure. The configuration file can include information such as awindow configuration, an occupancy lookup table, information about anassociated datum glass, and/or other data used by the control logic. Thewindow configuration may include information such as the dimensions ofthe electrochromic window 1205, the orientation of the electrochromicwindow 1205, the position of the electrochromic window 1205, etc. Theoccupancy lookup table describes tint levels that provide occupantcomfort for certain space types and penetration depths. That is, thetint levels in the occupancy lookup table are designed to providecomfort to occupant(s) that may be in the room 1200 from direct sunlighton the occupant(s) or their workspace. The space type is a measure todetermine how much tinting will be required to address occupant comfortconcerns for a given penetration depth and/or provide comfortablenatural lighting in the room. The space type parameter may take intoconsideration many factors. Among these factors is the type of work orother activity being conducted in a particular room and the location ofthe activity. Close work associated with detailed study requiring greatattention might be at one space type, while a lounge or a conferenceroom might have a different space type. Additionally, the position ofthe desk or other work surface in the room with respect to the window isa consideration in defining the space type. For example, the space typemay be associated with an office of a single occupant having a desk orother workspace located near the electrochromic window 1205. As anotherexample, the space type may be a lobby.

In certain embodiments, one or more modules of the control logic candetermine desired tint levels while accounting for energy conservationin addition to occupant comfort. These modules may determine energysavings associated with a particular tint level by comparing theperformance of the electrochromic window 1205 at that tint level to adatum glass or other standard reference window. The purpose of usingthis reference window can be to ensure that the control logic conformsto requirements of the municipal building code or other requirements forreference windows used in the locale of the building. Oftenmunicipalities define reference windows using conventional lowemissivity glass to control the amount of air conditioning load in thebuilding. As an example of how the reference window 1205 fits into thecontrol logic, the logic may be designed so that the irradiance comingthrough a given electrochromic window 1205 is never greater than themaximum irradiance coming through a reference window as specified by therespective municipality. In disclosed embodiments, control logic may usethe solar heat gain coefficient (SHGC) value of the electrochromicwindow 1205 at a particular tint level and the SHGC of the referencewindow to determine the energy savings of using the tint level.Generally, the value of the SHGC is the fraction of incident light ofall wavelengths transmitted through the window. Although a datum glassis described in many embodiments, other standard reference windows canbe used. Generally the SHGC of the reference window (e.g., datum glass)is a variable that can be different for different geographical locationsand window orientations, and is based on code requirements specified bythe respective municipality.

Generally, buildings are designed to have a heating, ventilation, andair conditioning (“HVAC”) system with the capacity to fulfill themaximum expected heating and/or air-conditioning loads required at anygiven instance. The calculation of required capacity may take intoconsideration the datum glass or reference window required in a buildingat the particular location where the building is being constructed.Therefore, it is important that the control logic meet or exceed thefunctional requirements of the datum glass in order to allow buildingdesigners to confidently determine how much HVAC capacity to put into aparticular building. Since the control logic can be used to tint thewindow to provide additional energy savings over the datum glass, thecontrol logic could be useful in allowing building designers to have alower HVAC capacity than would have been required using the datum glassspecified by the codes and standards.

Particular embodiments described herein assume that energy conservationis achieved by reducing air conditioning load in a building. Therefore,many of the implementations attempt to achieve the maximum tintingpossible, while accounting for occupant comfort level and perhapslighting load in a room having with the window under consideration.However, in some climates, such as those at far northern and forsouthern latitudes, heating may be more of a concern than airconditioning. Therefore, the control logic can be modified,specifically, road reversed in some matters, so that less tinting occursin order to ensure that the heating load of the building is reduced.

FIG. 12 depicts a flowchart 1400 showing general control logic for amethod of controlling one or more electrochromic windows (e.g.,electrochromic window 1205) in a building, according to embodiments. Thecontrol logic uses one or more of Modules A, B, and C to calculate tintlevels for the window(s) and sends instructions to transition thewindow(s) to the tint levels. The calculations in the control logic arerun 1 to n times at intervals timed by the timer at operation 1410. Forexample, the tint level can be recalculated 1 to n times by one or moreof the Modules A, B, and C and calculated for instances in timet_(i)=t₁, t₂ . . . t_(n). n is the number of recalculations performedand n can be at least 1. The logic calculations can be done at constanttime intervals in some cases. In one cases, the logic calculations maybe done every 2 to 5 minutes. However, tint transition for large piecesof electrochromic glass (e.g. up to 6′×10 feet) can take up to 30minutes or more. For these large windows, calculations may be done on aless frequent basis such as every 30 minutes.

At operation 1420, logic Modules A, B, and C perform calculations todetermine a tint level for each electrochromic window at a singleinstant in time t_(i). These calculations can be performed by aprocessor of a controller. In certain embodiments, the control logiccalculates how the window should transition in advance of the actualtransition. In these cases, the calculations in Modules A, B, and C arebased on a future time, for example, around or after transition iscomplete. For example, the future time used in the calculations may be atime in the future that is sufficient to allow the transition to becompleted after receiving the tint instructions. In these cases, thecontroller can send tint instructions in the present time in advance ofthe actual transition. By the completion of the transition, the windowwill have transitioned to a tint level that is desired for that time.

At operation 1430, the control logic allows for certain types ofoverrides that disengage the algorithm at Modules A, B, and C and defineoverride tint levels at operation 1440 based on some otherconsideration. One type of override is a manual override. This is anoverride implemented by an end user who is occupying a room anddetermines that a particular tint level (override value) is desirable.There may be situations where the user's manual override is itselfoverridden. An example of an override is a high demand (or peak load)override, which is associated with a requirement of a utility thatenergy consumption in the building be reduced. For example, onparticularly hot days in large metropolitan areas, it may be necessaryto reduce energy consumption throughout the municipality in order to notoverly tax the municipality's energy generation and delivery systems. Insuch cases, the building may override the tint level from the controllogic described herein to ensure that all windows have a particularlyhigh level of tinting. Another example of an override may be if there isno occupant in the room example weekends in a commercial officebuilding. In these cases, the building may disengage one or more Modulesthat relate to occupant comfort and all the windows may have a low levelof tinting in cold weather and high level of tinting in warm weather.

At operation 1450, the control signals for implementing the tint levelsare transmitted over a network to the power supply in electricalcommunication with the electrochromic device(s) in one or moreelectrochromic windows in the building. In certain embodiments, thetransmission of tint levels to all windows of a building may beimplemented with efficiency in mind. For example, if the recalculationof a tint level suggests that no change in tint from the current tintlevel is required, then there is no transmission of instructions with anupdated tint level. As another example, the building may be divided intozones based on window size and/or location in the building. In one case,control logic recalculates tint levels for zones with smaller windowsmore frequently than for zones with larger windows.

In some embodiments, the control logic in FIG. 12 for implementing thecontrol method(s) for multiple electrochromic windows in an entirebuilding can be on a single device, for example, a single master windowcontroller. This device can perform the calculations for each and everytintable window in the building and also provide an interface fortransmitting tint levels to one or more electrochromic devices inindividual electrochromic windows, for example, in multi-zone windows oron multiple EC lites of an insulated glass unit. Some examples ofmulti-zone windows can be found in PCT application No. PCT/US14/71314titled “MULTI-ZONE EC WINDOWS,” which is hereby incorporated byreference in its entirety.

Also, there may be certain adaptive components of the control logic ofembodiments. For example, the control logic may determine how an enduser (e.g. occupant) tries to override the algorithm at particular timesof day and makes use of this information in a more predictive manner todetermine desired tint levels. In one case, the end user may be using awall switch to override the tint level provided by the control logic ata certain time each day to an override value. The control logic mayreceive information about these instances and change the control logicto change the tint level to the override value at that time of day.

FIG. 13 is a diagram showing a particular implementation of block 1420from FIG. 12. This diagram shows a method of performing all threeModules A, B, and C in sequence to calculate a final tint level of aparticular electrochromic window for a single instant in time t_(i). Thefinal tint level may be the maximum permissible transmissivity of thewindow under consideration. FIG. 13 also shows some exemplary inputs andoutputs of Modules A, B, and C. The calculations in Modules A, B, and Care performed by the processor of a local window controller, a networkcontroller, or a master controller. Although certain examples describeall three Modules A, B, and C being used, other implementations may useone or more of the Modules A, B, and C or may use additional/differentmodules.

At operation 1470, the processor uses Module A to determine a tint levelfor occupant comfort to prevent direct glare from sunlight penetratingthe room. The processor uses Module A to calculate the penetration depthof direct sunlight into the room based on the sun's position in the skyand the window configuration from the configuration file. The positionof the sun is calculated based on the latitude and longitude of thebuilding and the time of day and date. The occupancy lookup table andspace type are input from a configuration file for the particularwindow. Module A outputs the Tint level from A to Module B. The goal ofModule A is generally to ensure that direct sunlight or glare does notstrike the occupant or his or her workspace. The tint level from ModuleA is determined to accomplish this purpose. Subsequent calculations oftint level in Modules B and C can reduce energy consumption and mayrequire even greater tint. However, if subsequent calculations of tintlevel based on energy consumption suggest less tinting than required toavoid interfering with the occupant, the logic prevents the calculatedgreater level of transmissivity from being executed to assure occupantcomfort.

At operation 1480, the tint level calculated in Module A is input intoModule B. Generally Module B determines a tint level that darkens (ordoes not change) the tint level calculated in Module B. A tint level iscalculated based on calculations of irradiance under clear skyconditions (clear sky irradiance). The processor of the controller usesModule B to calculate clear sky irradiance for the electrochromic windowbased on window orientation from the configuration file and based onlatitude and longitude of the building. These calculations are alsobased on a time of day and date. Publicly available software such as theRADIANCE program, which is an open-source program, can provide thecalculations for calculating clear sky irradiance. The SHGC of the datumglass is also input into Module B from the configuration file. Theprocessor uses Module B to determine a tint level that is darker thanthe tint level in A and transmits less heat than the datum glass iscalculated to transmit under maximum clear sky irradiance. Maximum clearsky irradiance is the highest level of irradiance for all timescalculated for clear sky conditions.

At operation 1490, a tint level from Module B and the calculated clearsky irradiance are input to Module C. Sensor readings are input toModule C based on measurements taken by the infrared sensor(s), theambient temperature sensor(s), and the photosensor(s). The processoruses Module C to determine the cloud cover condition based on the sensorreadings and the actual irradiance. The processor also uses Module C tocalculate irradiance transmitted into the room if the window were tintedto the Tint level from Module B under clear sky conditions. Theprocessor uses Module C to find the appropriate tint level if the actualirradiance through the window with this tint level is less than or equalto the irradiance through the window with the Tint level from Module Bbased on the determined cloud cover condition from the sensor readings.Generally the operations of Module C will determine a tint level thatlightens (or does not change) the tint level determined by theoperations of Module B. The tint level determined in Module C is thefinal tint level in this example.

Much of the information input to the control logic is determined fromfixed information about the latitude and longitude, time of day anddate. This information describes where the sun is with respect to thebuilding, and more particularly with respect to the window for which thecontrol logic is being implemented. The position of the sun with respectto the window provides information such as the penetration depth ofdirect sunlight into the room assisted with the window. It also providesan indication of the maximum irradiance or solar radiant energy fluxcoming through the window. This calculated level of irradiance can bebased on sensor input which might indicated that there is a reductionbased on the determined cloud cover condition or another obstructionbetween the window and the sun.

A program such as the open source program Radiance, is used to determineclear sky irradiance based on window orientation and latitude andlongitude coordinates of the building for both a single instant in timet_(i) and a maximum value for all times. The datum glass SHGC andcalculated maximum clear sky irradiance are input into Module B. ModuleB increases the tint level calculated in Module A in steps and picks atint level where the Inside radiation is less than or equal to the DatumInside Irradiance where: Inside Irradiance=Tint level SHGC×Clear SkyIrradiance and Datum Inside Irradiance=Datum SHGC×Maximum Clear SkyIrradiance. However, when Module A calculates the maximum tint of theglass, module B doesn't change the tint to make it lighter. The tintlevel calculated in Module B is then input into Module C. The calculatedclear sky irradiance is also input into Module C.

Example of Control Logic for Making Tinting Decisions using an InfraredCloud Detector System with a Photosensor

FIG. 14A is a flowchart 1500 depicting a particular implementation ofthe control logic of operation 1420 shown in FIG. 13, according to animplementation. Although this control logic is described with respect toa single window, it would be understood that control logic can be usedto control multiple windows or a zone of one or more windows.

At operation 1510, the control logic determines whether the time of dayis during one of the following time periods: (i) a time period startingshortly before sunrise (e.g., starting at a first time of 45 minutesbefore sunrise, 30 minutes before sunrise, 20 minutes before sunrise, orother suitable amount of time before sunrise) and up to slightly aftersunrise (e.g., starting at a second time of 45 minutes after sunrise, 30minutes after sunrise, 20 minutes after sunrise, or other suitableamount of time after sunrise) and (iii) a time period shortly beforesunset (dusk) (e.g., starting at a third time of 45 minutes beforesunset, 30 minutes before sunset, 20 minutes before sunset, or othersuitable amount of time before sunset) and up until sunset, or (ii)after (i) and before (iii). In one case, the time of sunrise can bedetermined from measurements taken by the visible wavelengthphotosensor. For example, the time period (i) may end at the point wherea visible light wavelength photosensor begins to measure direct sunlighti.e. an intensity reading of the visible light photosensor is at orabove a minimum intensity value. In addition or alternatively, the timeperiod (iii) may be determined to end at the point where the intensityreading from a visible light wavelength photosensor is at or below aminimum intensity value. In another example, the time of sunrise and/orthe time of sunset may be calculated using a solar calculator and theday of the year and the time periods (i) and (iii) can be calculated bya defined period of time (e.g., 45 minutes) before and after thecalculated times of sunrise/sunset. If it is determined that the time ofday is not during one of the time periods (i), (ii), or (iii) atoperation 1510, then the control logic determines the time of day is inthe time period (iv) after time period (iii) and before time period (i)i.e. at nighttime. In this case, the control logic passes a nighttimetint state (e.g., “clear”) and proceeds to operation 1570 to determinewhether there is an override, for example, an override command receivedin a signal from an operator. If it is determined that there is anoverride at operation 1560, the override value is the final tint level.If it is determined that there is no override in place, the tint levelfrom Module C is the final tint level. At operation 1570, a controlcommand is sent to over a network or directed to electrochromicdevice(s) of the window to transition the window to the final tintlevel, the time of day is updated, and the method returns to operation1510. If, instead, it is determined at operation 1510 that the time ofday is during one of the time periods (i), (ii), or (iii), then the timeof day is between just before sunrise and sunset and the control logicgoes on to determine whether the sun azimuth is between critical anglesof the tintable window at operation 1520.

If it is determined by the control logic at operation 1520 that the sunazimuth is outside the critical angles, then Module A is bypassed, and a“clear” tint level is passed to Module B, and Module B is used to makecalculations at operation 1540. If it is determined at operation 1520that the sun azimuth is between the critical angles, the control logicin Module A is used to calculate penetration depth and an appropriatetint level based on penetration depth at operation 1530. The tint leveldetermined from Module A is then input to Module B and Module B is usedto make calculations at operation 1540.

At operation 1540, the control logic from Module B determines a tintlevel that darkens (or does not change) the tint level from Module A.The tint level is calculated based on calculations of irradiance underclear sky conditions (clear sky irradiance). Module B is used tocalculate clear sky irradiance for the window based on windoworientation from the configuration file and based on latitude andlongitude of the building. These calculations are also based on a timeof day and date. Publicly available software such as the RADIANCEprogram, which is an open-source program, can provide calculations fordetermining clear sky irradiance. The SHGC of the datum glass is alsoinput into Module B from the configuration file. The processor uses thecontrol logic of Module B to determine a tint level that is darker thanthe tint level from Module A and transmits less heat than the datumglass is calculated to transmit under maximum clear sky irradiance.Maximum clear sky irradiance is the highest level of irradiance for alltimes calculated for clear sky conditions.

At operation 1550, a tint level from Module B, the calculated clear skyirradiance and sensor readings from an infrared sensor(s), an ambienttemperature sensor(s), and a photosensor(s) are input to Module C. Thecontrol logic of Module C determines the cloud cover condition based onthe sensor readings and determines the actual irradiance based on thecloud cover condition. The control logic of Module C also calculates anirradiance level that would be transmitted into the room if the windowwere tinted to the Tint level from Module B under clear sky conditions.The control logic in Module C decreases the tint level if the determinedactual irradiance through the window based on the cloud cover conditionis less than or equal to the calculated irradiance through the windowwhen tinted to the tint level from Module B. Generally the operations ofModule C will determine a tint level that lightens (or does not change)the tint level determined by the operations of Module B.

At operation 1550, the control logic determines a tint level from ModuleC based on sensor readings and then proceeds to operation 1560 todetermine whether there is an override in place, for example, anoverride command received in a signal from an operator. If it isdetermined that there is an override at operation 1560, the overridevalue is the final tint level. If it is determined that there is nooverride in place, the tint level from Module C is the final tint level.At operation 1570, a control command is sent to over a network ordirected to electrochromic device(s) of the window to transition thewindow to the final tint level, the time of day is updated, and themethod returns to operation 1510.

FIG. 14B is a flowchart 1600 depicting a particular implementation ofthe control logic of operation 1550 shown in FIG. 14A. At operation1610, one or more signals are received, at the processor, with atemperature reading, T_(IR), taken by an infrared sensor at a particularsample time, a temperature reading, T_(A), taken by the ambienttemperature sensor at the sample time, and an intensity reading taken bythe photosensor at the sample time. Signals from the infrared sensor,ambient temperature sensor, and photosensor are received wirelesslyand/or via wired electrical connections. The infrared sensor takestemperature readings based on infrared radiation received within itsfield-of-view. The infrared sensor is usually oriented toward a regionof sky of interest, for example, a region above a building. The ambienttemperature sensor is configured to be exposed to the outsideenvironment to measure the ambient temperature. The sensing surface ofthe photosensor is usually also oriented toward the region of sky ofinterest and direct sunlight is blocked or diffused from impinging thesensing surface.

If it is determined at operation 1620 that the time of day is duringeither of the time periods (i) or (iii), then the processor calculatesthe difference, delta (Δ), between the temperature reading, T_(IR),taken by the infrared sensor and the temperature reading, T_(A), takenby an ambient temperature sensor at a sample time (operation 1630).Optionally (denoted by dotted line), correction factors are applied tothe calculated delta (Δ) (operation 1630). Some examples of correctionfactors that may be applied include humidity, sun angle/elevation, andsite elevation.

In one embodiment, the processor also determines at operation 1620whether the infrared readings are oscillating at a frequency greaterthan a second defined level. If the processor determines at operation1620 that the time of day is either within the time period (i) or (iii)and the infrared readings are oscillating at a frequency greater than asecond defined level, then the processor applies operation 1690 to usethe photosensor readings to determine the cloud condition. For example,the processor may determine a “clear” condition if the photosensorreading is above a certain minimum intensity level and determine a“cloudy” condition if the photosensor reading is at or below minimumintensity level. If the system is still in operation, the methodincrements to the next sample time and returns to operation 1610.

At operation 1634, the processor determines whether the calculated delta(Δ) value is below a lower threshold value (e.g., −5 degrees Celsius, −2degrees Celsius, etc.). If it is determined that the calculated delta(Δ) value is below the lower threshold value, the cloud cover conditionis determined to be a “clear” condition (operation 1636). Duringoperation of the infrared cloud detector, the method then increments tothe next sample time and returns to operation 1610.

If it is determined that the calculated delta (Δ) is above the lowerthreshold value, then the processor determines whether the calculateddelta (Δ) is above an upper threshold value (e.g., 0 degrees Celsius, 2degrees Celsius, etc.) at operation 1640. If it is determined that thecalculated delta (Δ) is above the upper threshold value at operation1640, then the processor determines the cloud cover condition to be a“cloudy” condition (operation 1642).

At operation 1695, the control logic determines the actual irradiancebased on the cloud cover condition and calculates an irradiance levelthat would be transmitted into the room if the window were tinted to theTint level from Module B under clear sky conditions. The control logicin Module C decreases the tint level from Module B if the irradiancebased on the cloud cover condition is less than or equal to thecalculated irradiance through the window when tinted to the tint levelfrom Module B. The control logic then increments to the next sample timeand returns to operation 1560.

If it is determined that the calculated delta (Δ) is below the upperthreshold value at operation 1640, then the processor determines thecloud cover condition to be “intermittent cloudy” or anotherintermediate condition (operation 1650) and proceeds to operation 1695described in detail above.

If it is determined at operation 1620 that the time of day is not duringeither of the time periods (i) or (iii), then the time of day is duringthe time period (ii) daytime and the processor calculates the differencebetween the temperature reading, T_(IR), taken by the infrared sensorand the intensity reading taken by the photosensor at operation 1670. Atoperation 1680, the processor determines whether the calculateddifference is within an acceptable limit. If the processor determines atoperation 1680 that the calculated difference is more than theacceptable limit, then the processor applies operation 1630 to calculatethe delta (Δ) and uses the calculated delta (Δ) to determine the cloudcover condition as discussed above.

In one embodiment, the processor also determines at operation 1660whether the infrared readings are oscillating at a frequency greaterthan a second defined level. If the processor determines at operation1660 the time of day is within the time period (ii) and that theinfrared readings are oscillating at a frequency greater than a seconddefined level, then the processor applies operation 1690 to use thephotosensor readings to determine the cloud condition. For example, theprocessor may determine a “clear” condition if the photosensor readingis above a certain minimum intensity level and determine a “cloudy”condition if the photosensor reading is at or below minimum intensitylevel. The control logic then proceeds to operation 1695 described indetail above.

If the processor determines at operation 1680 that the calculateddifference is within the acceptable limit, the photosensor reading isused to determine the cloud cover condition (operation 1690). Forexample, the processor may determine a “clear” condition if thephotosensor reading is above a certain minimum intensity level anddetermine a “cloudy” condition if the photosensor reading is at or belowminimum intensity level. The control logic then proceeds to operation1695 described in detail above.

In one embodiment, the processor also determines at operation 1670whether the photosensor readings are oscillating at a frequency greaterthan a first defined level and whether the infrared readings areoscillating at a frequency greater than a second defined level. If theprocessor determines at operation 1680 that the calculated difference iswithin the acceptable limit and the processor determines that thephotosensor readings are oscillating at a frequency greater than thefirst defined level, then the processor applies operation 1630 tocalculate the delta (Δ) and use the calculated delta (Δ) is useddetermine the cloud cover condition as discussed above. If the processordetermines at operation 1680 that the calculated difference is notwithin the acceptable limit and the processor determines that theinfrared readings are oscillating at a frequency greater than the seconddefined level, then the processor applies operation 1690 to use thephotosensor readings to determine the cloud condition. For example, theprocessor may determine a “clear” condition if the photosensor readingis above a certain minimum intensity level and determine a “cloudy”condition if the photosensor reading is at or below minimum intensitylevel. The control logic then proceeds to operation 1695 described indetail above.

Although a single infrared sensor is described as included in theinfrared cloud detector of certain implementations, two or more infraredsensors can be used, according to another implementation, for redundancyin case one malfunctions and/or is obscured by, for example, birddroppings or another environmental agent. In one aspect, two or moreinfrared sensors can be included that face different orientations tocapture infrared radiation from different fields-of-view and/or atdifferent distances from the building/structure. If two or more infraredsensors are located within a housing of the infrared cloud detector, theinfrared sensors are typically offset from one another by a distancesufficient to reduce the likelihood that an obscuring agent would affectall the infrared sensors. For example, the infrared sensors may beseparated by at least about one inch or at least about two inches.

It should be understood that the present invention as described abovecan be implemented in the form of control logic using computer softwarein a modular or integrated manner. Based on the disclosure and teachingsprovided herein, a person of ordinary skill in the art will know andappreciate other ways and/or methods to implement the present inventionusing hardware and a combination of hardware and software.

Any of the software components or functions described in thisapplication, may be implemented as software code to be executed by aprocessor using any suitable computer language such as, for example,Java, C++or Perl using, for example, conventional or object-orientedtechniques. The software code may be stored as a series of instructions,or commands on a computer readable medium, such as a random accessmemory (RAM), a read only memory (ROM), a magnetic medium such as ahard-drive or a floppy disk, or an optical medium such as a CD-ROM. Anysuch computer readable medium may reside on or within a singlecomputational apparatus, and may be present on or within differentcomputational apparatuses within a system or network.

Although the foregoing disclosed embodiments have been described in somedetail to facilitate understanding, the described embodiments are to beconsidered illustrative and not limiting. It will be apparent to one ofordinary skill in the art that certain changes and modifications can bepracticed within the scope of the appended claims.

One or more features from any embodiment may be combined with one ormore features of any other embodiment without departing from the scopeof the disclosure. Further, modifications, additions, or omissions maybe made to any embodiment without departing from the scope of thedisclosure. The components of any embodiment may be integrated orseparated according to particular needs without departing from the scopeof the disclosure.

1. An infrared cloud detector system comprising: an infrared sensorconfigured to measure sky temperature based on infrared radiationreceived within its field-of-view; an ambient temperature sensorconfigured to measure an ambient temperature; and logic configured todetermine a cloud condition based on a difference between the measuredsky temperature and the measured ambient temperature.
 2. (canceled) 3.The infrared cloud detector system of claim 1, wherein the logic appliesone or more correction factors to the difference between the measuredsky temperature and the measured ambient temperature before determiningthe cloud condition.
 4. The infrared cloud detector system of claim 3,wherein the correction factors comprise factors associated withhumidity, sun angle/elevation, and site elevation.
 5. The infrared clouddetector system of claim 1, wherein the infrared sensor is one of aninfrared thermometer, an infrared radiometer, an infrared pyrgeometer,and an infrared pyrometer.
 6. (canceled)
 7. The infrared cloud detectorsystem of claim 1, wherein the infrared sensor is configured to detectinfrared radiation having wavelengths above 5 μm. 8-9. (canceled) 10.The infrared cloud detector system of claim 1, further comprising alight diffusing material between the infrared sensor and an outsideenvironment.
 11. (canceled)
 12. The infrared cloud detector system ofclaim 1, wherein the logic is also configured to determine a tint statefor one or more electrochromic windows of a building based on thedetermined cloud condition and configured to send a control signal totransition the one or more electrochromic windows to the determined tintstate.
 13. The infrared cloud detector system of claim 12, wherein theinfrared cloud detector system is located on a rooftop of the building.14. The infrared cloud detector system of claim 1, wherein the logic isfurther configured to determine the cloud condition as “clear” if thedetermined difference is below a lower threshold value and as “cloudy”if the determined difference is above an upper threshold value. 15.(canceled)
 16. An infrared cloud detector system comprising: an infraredsensor configured to measure sky temperature based on infrared radiationreceived within its field-of-view; an ambient temperature sensorconfigured to measure an ambient temperature; a photosensor configuredto measure intensity of visible light; and logic configured to determinea cloud condition, wherein if a time of day is between a first timebefore sunrise and a second time after sunrise or between a third timebefore sunset and sunset, the logic is configured to determine the cloudcondition based on a difference between the measured sky temperature andthe measured ambient temperature, wherein if the time of day is betweenthe second time after sunrise and before the third time before sunset,the logic is configured to determine the cloud condition based on themeasured intensity of visible light from the photosensor.
 17. Theinfrared cloud detector system of 16, wherein the logic configured todetermine the cloud condition based on the difference between themeasured sky temperature and the measured ambient temperature includesdetermining that the cloud condition is “clear” if the determineddifference is below a lower threshold value and that the cloud conditionis “cloudy” if the determined difference is above an upper thresholdvalue.
 18. The infrared cloud detector system of claim 17, wherein thelogic applies one or more correction factors to the difference betweenthe measured sky temperature and the measured ambient temperature beforedetermining the cloud condition.
 19. (canceled)
 20. The infrared clouddetector system of 16, wherein the logic configured to determine thecloud condition based on the measured intensity of visible light fromthe photosensor includes determining the cloud condition is “clear” ifthe measured intensity is above a minimum value and determining that thecloud condition is a “cloudy” if the measured intensity is below theminimum value.
 21. The infrared cloud detector system of claim 16,wherein the infrared sensor is one of an infrared thermometer, aninfrared radiometer, an infrared pyrgeometer, and an infrared pyrometer.22. The infrared cloud detector system of claim 16, wherein the infraredsensor is configured to detect infrared radiation having wavelengths ina range between about 8 μm and about 14 μm. 23-24. (canceled)
 25. Theinfrared cloud detector system of claim 16, further comprising a lightdiffusing material between the infrared sensor and an outsideenvironment. 26-27. (canceled)
 28. The infrared cloud detector system ofclaim 16, wherein the logic is also configured to determine a tint statefor one or more electrochromic windows of a building based on thedetermined cloud condition and configured to send a control signal totransition the one or more electrochromic windows to the determined tintstate.
 29. The infrared cloud detector system of claim 28, wherein theinfrared cloud detector system is located on a rooftop of the building.30. An infrared cloud detector method comprising: receiving a skytemperature reading from an infrared sensor and an ambient temperaturereading from an ambient temperature sensor; calculating a differencebetween the sky temperature reading and the ambient temperature reading;and determining a cloud condition based on the calculated differencebetween the sky temperature reading and the ambient temperature reading.31. The infrared cloud detector method of claim 30, further comprising:determining that the cloud condition is “clear” if the calculateddifference is below a lower threshold value; and determining that thecloud condition is “cloudy” if the calculated difference is above anupper threshold value.
 32. The infrared cloud detector method of claim31, further comprising determining that the cloud condition is anintermediate condition if the calculated difference is above the lowerthreshold value and below the upper threshold value.
 33. (canceled) 34.The infrared cloud detector method of claim 31, wherein the lowerthreshold value is in a range of about −5 degrees Celsius to about −10degrees Celsius.
 35. The infrared cloud detector method of claim 34,wherein the upper threshold value is in a range of above −5 degreesCelsius to about 0 degrees Celsius.
 36. The infrared cloud detectormethod of claim 30, further comprising: determining an end tint statefor one or more electrochromic windows of a building based on thedetermined cloud condition; and sending a control signal via a networkto transition the one or more electrochromic windows to the determinedtint state.
 37. The infrared cloud detector method of claim 30, whereinthe sky temperature reading is received from the infrared sensor locatedon a rooftop of the building and the ambient temperature reading isreceived from the ambient temperature sensor located on the rooftop ofthe building.
 38. An infrared cloud detector method comprising:receiving a sky temperature reading from an infrared sensor, an ambienttemperature reading from an ambient temperature sensor, and an intensityreading from a photosensor; determining whether a time of day is: (i)between a first time before sunrise and a second time after sunrise orbetween a third time before sunset and sunset; (ii) between the secondtime after sunrise and before a third time before sunset; (iii) after(i) and before (iii); or (iv) after (iii) and before (i); and if thetime of day is (i), (iii), or (iv), determining a cloud condition basedon a difference between the measured sky temperature and the measuredambient temperature; and if the time of day is (iii), determining thecloud condition based on the intensity reading received from thephotosensor.
 39. The infrared cloud detector method of claim 38, furthercomprising: calculating the difference between the sky temperaturereading and the ambient temperature reading; determining that the cloudcondition is “clear” if the calculated difference is below a lowerthreshold value; and determining that the cloud condition is “cloudy” ifthe calculated difference is above an upper threshold value.
 40. Theinfrared cloud detector method of claim 39, further comprisingdetermining that the cloud condition is an intermediate condition if thecalculated difference is above the lower threshold value and below theupper threshold value.
 41. The infrared cloud detector method of claim39, wherein the lower threshold value is in a range of about −5 degreesCelsius to about −10 degrees Celsius.
 42. The infrared cloud detectormethod of claim 41, wherein the upper threshold value is in a range ofabove −5 degrees Celsius to about 0 degrees Celsius.
 43. The infraredcloud detector method of claim 39, wherein determining the cloudcondition based on the intensity reading received from the photosensorcomprises: determining that the cloud condition is “clear” if theintensity reading is above a minimum value; and determining that thecloud condition is “cloudy” if the intensity reading is below a minimumvalue.
 44. The infrared cloud detector method of claim 43, furthercomprising: determining an end tint state for one or more electrochromicwindows of a building based on the determined cloud condition; andsending a control signal to transition the one or more electrochromicwindows to the determined tint state.
 45. The infrared cloud detectormethod of claim 44, wherein determining an end tint state for one ormore electrochromic windows of a building based on the determined cloudcondition comprises: determining a first tint state based on one or moreof a calculated clear sky irradiance and a calculated penetration depthof direct sunlight into a room with the one or more electrochromicwindows; if the time of day is determined in (iv), determining that theend tint state is a nighttime tint setting; if the time of daydetermined in (i), (ii), or (iii) and the cloud condition is determinedas “cloudy,” determining that the end tint state is higher than thefirst tint state; and if the time of day determined in (i), (ii), or(iii) and the cloud condition is determined as “clear,” determining thatthe end tint state is the first tint state.
 46. (canceled)